mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-25 03:02:21 +00:00
Merge branch 'gh-pages' of github.com:ruanyf/es6tutorial into gh-pages
This commit is contained in:
commit
a8fb385483
@ -905,8 +905,7 @@ Foo.prop // 1
|
|||||||
目前,只有这种写法可行,因为ES6明确规定,Class内部只有静态方法,没有静态属性。
|
目前,只有这种写法可行,因为ES6明确规定,Class内部只有静态方法,没有静态属性。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// 以下两种写法都无效,
|
// 以下两种写法都无效
|
||||||
// 但不会报错
|
|
||||||
class Foo {
|
class Foo {
|
||||||
// 写法一
|
// 写法一
|
||||||
prop: 2
|
prop: 2
|
||||||
|
@ -924,7 +924,7 @@ x.a.b // 2
|
|||||||
|
|
||||||
上面代码中,`x`是Rest解构赋值所在的对象,拷贝了对象`obj`的`a`属性。`a`属性引用了一个对象,修改这个对象的值,会影响到Rest解构赋值对它的引用。
|
上面代码中,`x`是Rest解构赋值所在的对象,拷贝了对象`obj`的`a`属性。`a`属性引用了一个对象,修改这个对象的值,会影响到Rest解构赋值对它的引用。
|
||||||
|
|
||||||
另外,Rest解构赋不会拷贝继承自原型对象的属性。
|
另外,Rest解构赋值不会拷贝继承自原型对象的属性。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
let o1 = { a: 1 };
|
let o1 = { a: 1 };
|
||||||
|
@ -472,7 +472,7 @@ var p = new Proxy(obj, {
|
|||||||
|
|
||||||
上面代码中,`obj`对象禁止扩展,结果使用`has`拦截就会报错。
|
上面代码中,`obj`对象禁止扩展,结果使用`has`拦截就会报错。
|
||||||
|
|
||||||
值得注意的是,`has`方法拦截的是`HasProperty`操作,而不是`HasOwnProperty`操作,即`has`方法不判断一个属性是对象自身的属性,而是继承的属性。由于`for...in`操作内部也会用到`HasProperty`操作,所以`has`方法在`for...in`循环时也会生效。
|
值得注意的是,`has`方法拦截的是`HasProperty`操作,而不是`HasOwnProperty`操作,即`has`方法不判断一个属性是对象自身的属性,还是继承的属性。由于`for...in`操作内部也会用到`HasProperty`操作,所以`has`方法在`for...in`循环时也会生效。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
let stu1 = {name: 'Owen', score: 59};
|
let stu1 = {name: 'Owen', score: 59};
|
||||||
@ -538,7 +538,7 @@ new p(1).value
|
|||||||
// 10
|
// 10
|
||||||
```
|
```
|
||||||
|
|
||||||
如果`construct`方法返回的必须是一个对象,否则会报错。
|
`construct`方法返回的必须是一个对象,否则会报错。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
var p = new Proxy(function() {}, {
|
var p = new Proxy(function() {}, {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user