# 对象和函数的扩展 ## 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 } ```