1.刚开始用ts,要用到一个属性作为判断条件,代码如下:
if(a.b.c.d){
//代码块
}
现在如果属性没有的话,发现ts编译不通过,请问在ts中应该怎么写
黄舟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 都会有值
伊谢尔伦2017-04-11 13:35:48
TS本来就是强类型检查,所以使用未定义的属性肯定会通不过。
如果你确实需要避开强类型检查,可以用 a["b"]["c"]["d"]
这种方式来避开——好复杂的感觉