mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-25 11:12:21 +00:00
52 lines
868 B
Markdown
52 lines
868 B
Markdown
# 对象和函数的扩展
|
||
|
||
## Object.is()
|
||
|
||
Object.is()用来比较两个值是否严格相等。它与严格比较运算符(===)的行为基本一致,不同之处只有两个:一是+0不等于-0,二是NaN等于自身。
|
||
|
||
```javascript
|
||
|
||
+0 === -0 //true
|
||
NaN === NaN // false
|
||
|
||
Object.is(+0, -0) // false
|
||
Object.is(NaN, NaN) // true
|
||
|
||
```
|
||
|
||
## 增强的对象写法
|
||
|
||
ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。
|
||
|
||
```javascript
|
||
|
||
var Person = {
|
||
|
||
name: '张三',
|
||
|
||
//等同于birth: birth
|
||
birth,
|
||
|
||
// 等同于hello: function ()...
|
||
hello() { console.log('我的名字是', this.name); }
|
||
|
||
};
|
||
|
||
```
|
||
|
||
## 函数参数的默认值
|
||
|
||
ES6允许为函数的参数设置默认值。
|
||
|
||
```javascript
|
||
|
||
function Point(x = 0, y = 0) {
|
||
this.x = x;
|
||
this.y = y;
|
||
}
|
||
|
||
var p = new Point();
|
||
// p = { x:0, y:0 }
|
||
|
||
```
|