美文网首页uniapp开发
js隐式转换,js常见的数据类型转布尔,字符串转布尔值,null

js隐式转换,js常见的数据类型转布尔,字符串转布尔值,null

作者: 霖深雾起不见你 | 来源:发表于2023-02-02 14:15 被阅读0次

    常见的数据类型转布尔

    0和NaN      false   其他Number类型为true
    undefined   false
    null        false
    ''          false   非空String类型为true,空string为false
    {}          true    注意:空对象和非空对象都为true
    []          true    注意:空数组和非空数组都为true
    [].length   0       不会报错,
    null.length         会报错
    undefined.length    会报错
    // 非空数组数据结构示例
    let obj = {
        testArr: [1,2,3,4,5],
        testObj: {age: 15},
    }
    if(obj.testArr.length > 0) {
     // 运行正常,不会报错   
    }
    // 空数组数据结构示例
    let obj = {
        testArr: null,
        testObj: {age: 15},
    }
    if(obj.testArr.length > 0) {
     //     会提示类似报错 Uncaught TypeError: Cannot read properties of null (reading 'length') at <anonymous>:1:6
    }
    

    假如接口返回的数据结构如上obj,其中某个array类型的字段(testArr)有可能为null的情况直接用obj.testArr.length > 0会报错
    if(obj.testArr.length > 0) {

    }
    可以用下面代码优化,如果obj.testArr为null或者undefined直接判断为false
    if(!!obj.testArr && obj.testArr.length > 0) {

    }

    相关文章

      网友评论

        本文标题:js隐式转换,js常见的数据类型转布尔,字符串转布尔值,null

        本文链接:https://www.haomeiwen.com/subject/bfowhdtx.html