整理笔记9: JS中类型转换

108 阅读1分钟

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