Open yangmaoHu opened 5 years ago
只有 6 种 falsy 值:
undefined
null
NaN
0
'' (empty string)
false
JavaScript 只有基本类型和对象
基本类型包括 boolean, null, undefined, bigint, number, string, symbol。
setInterval(() => console.log('Hi'), 1000)
setInterval 返回一个唯一的 id。此 id 可被用于 clearInterval 函数来取消定时。
const value = { number: 10 };
const multiply = (x = { ...value }) => {
console.log(x.number *= 2);
};
multiply();
multiply();
默认参数在调用时才会进行计算,每次调用函数时,都会创建一个新的对象。
我们前两次调用 multiply 函数且不传递值,那么每一次 x 的默认值都为 {number:10} ,
因此打印出该数字的乘积值为20。
const person = { name: "Lydia" };
Object.defineProperty(person, "age", { value: 21 });
console.log(person);
console.log(Object.keys(person));
使用defineProperty方法给对象添加了一个属性之后,属性默认为 不可枚举(not enumerable).
Object.keys方法仅返回对象中 可枚举(enumerable) 的属性,因此只剩下了"name".
const name = "Lydia";
age = 21;
console.log(delete name);
console.log(delete age);
delete操作符返回一个布尔值: true指删除成功,否则返回false.
但是通过 var, const 或 let 关键字声明的变量无法用 delete 操作符来删除。
javascript-questions