课程信息
课程名称:一天时间高效准备前端技术一面 匹配大厂面试要求
章节名称:第4章 JS基础-变量类型和计算
讲师:双越
课程描述
从值类型和引用类型区别入手,引出面试常见问题,深拷贝和类型转换问题
收获
1.值类型与引用类型
值类型
- String
- Number
- Boolean
- undefined
- Symbol
- null
引用类型
- Object
- Array
- Function
2. 深拷贝
- 利用递归
function deepClone (obj) {
if ( typeof obj != null || typeof obj != Object) return obj
let result
if (result instanceof Array) {
result = []
} else {
result = {}
}
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
result[key] = deepClone(obj[key])
}
}
return result
}
3. 类型转换
- 除了 == null之外,其他都一律用 ===
- 数字 布尔的字符串拼接
- 100 +‘10’ ‘10010’
- true + ‘10’ ‘true10’
- 以下是falsely 除此之外都是truly 变量
- !!0 === false
- !!NaN === false
- !!’ ’ === false
- !!null === false
- !!undefined === false
- !!false === false