简写
属性
当一个对象的属性与本地变量同名时,不必再写冒号和值,简单的只写属性名即可。
let name = "lee";
let age = 18;
const params = {
name: name,
age: age
}
简写为
let name = "lee";
let age = 18;
const params = {
name,
age
}
方法
消除了冒号和function
const params = {
name: "lee",
sayName: function () {
console.log(this.name);
}
}
简写为
const params = {
name: "lee",
sayName () {
console.log(this.name);
}
}
方法
Object.is()
接收两个参数,如果这两个参数类型相同且具有相同的值,则返回true
console.log(5 == 5); // true
console.log(5 == "5"); // true
console.log(5 === 5); // true
console.log(5 === "5"); // false
console.log(Object.is(5, 5)); // true
console.log(Object.is(5, "5")); // false
与全等运算符类似,但比全等运算符精确度更高
可以用来区分NaN与NaN
、+0与-0
等特殊情况
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false
console.log(Object.is(NaN, NaN)); // true
console.log(+0 == -0); // true
console.log(+0 === -0); // true
console.log(Object.is(+0, -0)); // false
Object.assign()
接收任意数量的源对象,按指定顺序将属性复制到接收对象
如果多个源对象具有同名属性,则排位靠后的源对象覆盖排位靠前的
const params = Object.assign({}, {
name: "world"
}, {
name: "hello"
})
console.log(params.name); // hello