JS中类型转换
我是knockkey, 这是我坚持更新博客第2天. 这篇博客就为了解决: 除非你用typescript 不然你就需要学会
1. 字符串拼接
const a = 100 + 10 //110
const b = 100 + '10' //'10010' -> 字符串变成parseInt('10')
const c = true + '10' //'true10'
console.log(a, b, c);
2. == 运算符(它会尽量尝试转换后相等, 用===就false了)
console.log(100 == '100');//true
console.log(0 == ''); //true
console.log(0 == false); //true
console.log(false == ''); //true
console.log(null == undefined); //true
3. console.log(null == undefined); 输出的是true
- 技巧:
// 除了 ==null 之外, 其他都一律用 === 比如
const obj = { x: 100 }
if (obj.a == null) { }
// 相当于:
// if(obj.a === null || obj.a === undefined){}
4. if语句
if语句
truely
const a3 = true
if (a3) {
}
const b3 = 100
if (b3) {
}
falsely
const c3 = ''
if (c3) {
}
const d3 = null
if (d3) {
}
let e3;
if (e3) {
}
以下都是falsely变量. 除此之外都是truly变量
!!0 === false
!!NaN === false
!!'' === false
!!null === false
!!undefined === false
!!false === false
5.逻辑运算
console.log(10 && 0); //0
console.log('' || 'abc'); //'abc'
console.log(!window.abc); //true