-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
96 lines (66 loc) · 2.22 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// handler类型错误
// import './GetPrototypeOf/proxy1'
// handler 没有getPrototypeOf
// import './GetPrototypeOf/proxy2'
// handler.getPrototypeOf返回值非Object
// import './GetPrototypeOf/proxy3'
// target不可扩展的情况
// import './GetPrototypeOf/proxy4'
// getPrototypeOf拦截哪些操作
// import "./GetPrototypeOf/proxy5"
// proto需为Object(包含null)
// import './SetPrototypeOf/proxy1'
// handler 没有setPrototypeOf
// import './SetPrototypeOf/proxy2'
// setPrototypeOf 返回假值
// import './SetPrototypeOf/proxy3'
// setPrototypeOf为其他值
// import './SetPrototypeOf/proxy4'
// isExtensible
// import './IsExtensible/proxy'
// preventExtensions
// import './PreventExtensions/proxy'
// getOwnPropertyDescriptor 入参prop非string非symbol
// import './GetOwnProperty/proxy1'
// getOwnPropertyDescriptor返回结果不是object和undefined
// import './GetOwnProperty/proxy2'
// getOwnPropertyDescriptor 入参prop是原型链上的属性
// import './GetOwnProperty/proxy3'
// getOwnPropertyDescriptor 返回undefined,访问prop的configurable为false的情况
// import './GetOwnProperty/proxy4'
// getOwnPropertyDescriptor 返回undefined,target的isExtensible为false的情况
// import './GetOwnProperty/proxy5'
// getOwnPropertyDescriptor 返回undefined,prop不存在
// import './GetOwnProperty/proxy6'
// 不可扩展对象上,增加新属性的情况
// import './GetOwnProperty/proxy7'
// 修改了属性的数据属性描述符
// import './GetOwnProperty/proxy8'
// defineProperty
// import './DefineOwnProperty/proxy1'
// 不可扩展对象
// import './DefineOwnProperty/proxy2'
// 属性描述符configurable从true改为false
// import './DefineOwnProperty/proxy3'
// has
// import './HasProperty/proxy1'
// has return false的情况
// import './HasProperty/proxy2'
// has return false且不可扩展
// import './HasProperty/proxy3'
// get
// import './Get/proxy1'
// import './Get/proxy2'
// set
// import './Set/proxy1'
// import './Set/proxy2'
// delete
// import './Delete/proxy1'
// import './Delete/proxy2'
// ownKeys
// import './OwnPropertyKeys/proxy1'
// import './OwnPropertyKeys/proxy2'
// apply
// import './Call/proxy1'
// constructor
import './Construct/proxy'