mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2024-04-21 12:32:22 +00:00
修改numbers
This commit is contained in:
+56
-12
@@ -6,6 +6,42 @@ ES6允许直接写入变量和函数,作为对象的属性和方法。这样
|
||||
|
||||
```javascript
|
||||
|
||||
function f( x, y ) {
|
||||
return { x, y };
|
||||
}
|
||||
|
||||
// 等同于
|
||||
|
||||
function f( x, y ) {
|
||||
return { x: x, y: y };
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
上面是属性简写的例子,方法也可以简写。
|
||||
|
||||
```javascript
|
||||
|
||||
var o = {
|
||||
method() {
|
||||
return "Hello!";
|
||||
}
|
||||
};
|
||||
|
||||
// 等同于
|
||||
|
||||
var o = {
|
||||
method: function() {
|
||||
return "Hello!";
|
||||
}
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
下面是一个更实际的例子。
|
||||
|
||||
```javascript
|
||||
|
||||
var Person = {
|
||||
|
||||
name: '张三',
|
||||
@@ -36,18 +72,6 @@ getPoint()
|
||||
|
||||
```
|
||||
|
||||
下面是一个类似的例子。
|
||||
|
||||
```javascript
|
||||
|
||||
let x = 4;
|
||||
let y = 1;
|
||||
|
||||
// 下行等同于 let obj = { x: x, y: y };
|
||||
let obj = { x, y };
|
||||
|
||||
```
|
||||
|
||||
## 属性名表达式
|
||||
|
||||
JavaScript语言定义对象的属性,有两种方法。
|
||||
@@ -133,6 +157,26 @@ Object.is(NaN, NaN) // true
|
||||
|
||||
```
|
||||
|
||||
ES5可以通过下面的代码,部署Object.is()。
|
||||
|
||||
```javascript
|
||||
|
||||
Object.defineProperty(Object, 'is', {
|
||||
value: function(x, y) {
|
||||
if (x === y) {
|
||||
// 针对+0 不等于 -0的情况
|
||||
return x !== 0 || 1 / x === 1 / y;
|
||||
}
|
||||
// 针对NaN的情况
|
||||
return x !== x && y !== y;
|
||||
},
|
||||
configurable: true,
|
||||
enumerable: false,
|
||||
writable: true
|
||||
});
|
||||
|
||||
```
|
||||
|
||||
## Object.assign()
|
||||
|
||||
Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target)。它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象。只要有一个参数不是对象,就会抛出TypeError错误。
|
||||
|
||||
Reference in New Issue
Block a user