首页  >  问答  >  正文

javascript - typescript中boolean类型的自动转换问题

1.刚开始用ts,要用到一个属性作为判断条件,代码如下:
if(a.b.c.d){
//代码块
}

现在如果属性没有的话,发现ts编译不通过,请问在ts中应该怎么写

PHP中文网PHP中文网2767 天前608

全部回复(2)我来回复

  • 黄舟

    黄舟2017-04-11 13:35:48

    默认值

    默认值可以让你在属性为 undefined 时使用缺省值:

    function keepWholeObject(wholeObject: {a: string, b?: number}) {

    let {a, b = 1001} = wholeObject;

    }
    现在,即使 b 为 undefined , keepWholeObject 函数的变量 wholeObject 的属性 a 和 b 都会有值

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:35:48

    TS本来就是强类型检查,所以使用未定义的属性肯定会通不过。
    如果你确实需要避开强类型检查,可以用 a["b"]["c"]["d"] 这种方式来避开——好复杂的感觉

    回复
    0
  • 取消回复