1.刚开始用ts,要用到一个属性作为判断条件,代码如下:if(a.b.c.d){ //代码块}
现在如果属性没有的话,发现ts编译不通过,请问在ts中应该怎么写
认证0级讲师
默认值
默认值可以让你在属性为 undefined 时使用缺省值:
function keepWholeObject(wholeObject: {a: string, b?: number}) {
let {a, b = 1001} = wholeObject;
}现在,即使 b 为 undefined , keepWholeObject 函数的变量 wholeObject 的属性 a 和 b 都会有值
TS本来就是强类型检查,所以使用未定义的属性肯定会通不过。如果你确实需要避开强类型检查,可以用 a["b"]["c"]["d"] 这种方式来避开——好复杂的感觉
a["b"]["c"]["d"]
默认值
默认值可以让你在属性为 undefined 时使用缺省值:
function keepWholeObject(wholeObject: {a: string, b?: number}) {
}
现在,即使 b 为 undefined , keepWholeObject 函数的变量 wholeObject 的属性 a 和 b 都会有值
TS本来就是强类型检查,所以使用未定义的属性肯定会通不过。
如果你确实需要避开强类型检查,可以用
a["b"]["c"]["d"]
这种方式来避开——好复杂的感觉