1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-28 21:32:20 +00:00

edit docs/object

This commit is contained in:
ruanyf 2014-05-23 22:40:32 +08:00
parent 6caf729db1
commit 638b4ce527

View File

@ -16,7 +16,7 @@ Object.is(NaN, NaN) // true
## Object.assign()
Object.assign()用来将源对象source的所有可枚举属性复制到目标对象target。它至少需要两个对象作为参数第一个参数是目标对象后面的参数都是源对象。只要有一个参数不是对象就会抛出TypeError错误。
Object.assign方法用来将源对象source的所有可枚举属性复制到目标对象target。它至少需要两个对象作为参数第一个参数是目标对象后面的参数都是源对象。只要有一个参数不是对象就会抛出TypeError错误。
```javascript
@ -30,7 +30,7 @@ target // {a:1, b:2, c:3}
```
注意,如果源对象与目标对象有同名属性,则前者会覆盖后者
注意,如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性
```javascript
@ -81,14 +81,14 @@ var o = Object.setPrototypeOf({}, null);
function (obj, proto) {
obj.__proto__ = proto;
return obj;
return obj;
}
```
**3Object.getPrototypeOf()**
与setPrototypeOf()配套的还有getPrototypeOf()用于读取一个对象的prototype对象。
该方法与setPrototypeOf方法配套用于读取一个对象的prototype对象。
```javascript
@ -177,7 +177,7 @@ ES6引入了一种新的原始数据类型symbol。它通过Symbol函数生成
var mySymbol = Symbol('Test');
mySymbol.name
mySymbol.name
// Test
typeof mySymbol
@ -206,7 +206,7 @@ function f(w) {
case w3:
...
}
}
}
```
@ -214,7 +214,7 @@ function f(w) {
由于这种特点Symbol类型适合作为标识符用于对象的属性名保证了属性名之间不会发生冲突。如果一个对象由多个模块构成这样就不会出现同名的属性。
Symbol类型作为属性名可以被遍历Object.getOwnPropertySymbols()和Object.getOwnPropertyKeys()都可以获取该属性。
Symbol类型作为属性名可以被遍历Object.getOwnPropertySymbols()和Object.getOwnPropertyKeys()都可以获取该属性。
```javascript