edit docs/object

This commit is contained in:
ruanyf
2014-05-23 22:40:32 +08:00
parent 6caf729db1
commit 638b4ce527
+7 -7
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