1、JavaScript数据类型
- number:数字类型
- string:字符串类型
- boolean:布尔值类型
- undefined:未定义类型
- null:空值类型
- object:对象类型
- symbol:symbol类型
- bigint:大数字类型
2、深拷贝与浅拷贝的区别
- 深拷贝层层拷贝,浅拷贝只拷贝第一层,深层只是引用
- 在深拷贝中,新对象中的更改不会影响原始对象,而在浅拷贝中,新对象中的更改会同时影响原始对象。
- 在深拷贝中,原始对象不与新对象共享相同的属性,而在浅拷贝中,它们具有相同的属性。
3、null和undefined的异同点
相同点
- 都是空变量
- 都是假值,转布尔值都是false
- null == undefined 为 true
不同点
-
typeof判断null为object,判断undefined为undefined
-
null转数字为0,undefined转数字为NaN
-
null是一个对象未初始化,undefined是初始化了,但未定义赋值
-
null === undefined 为 false
4、 = == === 的区别
- =: 赋值,将右边的值赋给左边的值
- == :判断等于 反馈的是一个布尔值 ,在比较的过程中存在隐式转换
- ===:全等于 类型 值都相同才会为ture