1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-06-09 07:15:29 +00:00

Update Object.assign()

This commit is contained in:
hotoo 2014-05-21 11:46:00 +08:00
parent b744b68e61
commit 4150797281

@ -30,7 +30,7 @@ target // {a:1, b:2, c:3}
``` ```
注意,如果源对象与目标对象有同名属性,则前者会覆盖后者。 注意,如果目标对象与源对象有同名属性,或多个目标对象有同名属性,则前者会覆盖后者。
```javascript ```javascript
@ -81,7 +81,7 @@ var o = Object.setPrototypeOf({}, null);
function (obj, proto) { function (obj, proto) {
obj.__proto__ = proto; obj.__proto__ = proto;
return obj; return obj;
} }
``` ```
@ -177,7 +177,7 @@ ES6引入了一种新的原始数据类型symbol。它通过Symbol函数生成
var mySymbol = Symbol('Test'); var mySymbol = Symbol('Test');
mySymbol.name mySymbol.name
// Test // Test
typeof mySymbol typeof mySymbol
@ -206,7 +206,7 @@ function f(w) {
case w3: case w3:
... ...
} }
} }
``` ```
@ -214,7 +214,7 @@ function f(w) {
由于这种特点Symbol类型适合作为标识符用于对象的属性名保证了属性名之间不会发生冲突。如果一个对象由多个模块构成这样就不会出现同名的属性。 由于这种特点Symbol类型适合作为标识符用于对象的属性名保证了属性名之间不会发生冲突。如果一个对象由多个模块构成这样就不会出现同名的属性。
Symbol类型作为属性名可以被遍历Object.getOwnPropertySymbols()和Object.getOwnPropertyKeys()都可以获取该属性。 Symbol类型作为属性名可以被遍历Object.getOwnPropertySymbols()和Object.getOwnPropertyKeys()都可以获取该属性。
```javascript ```javascript