譬如传个对方 obj 给方法,在方法中试图访问 obj.notExists,但 notExists 并不存在,TypeScript 能提前检查到吗?
1
sumanx Jan 5, 2018
if((obj as any). notExists)?
|
2
azh7138m Jan 5, 2018
ts 不做运行时检查,全是 ts 写的项目,按道理,能编译就不会有这问题吧
|
4
Pastsong Jan 5, 2018 严格模式的 ts 是可以的,不要写 any 之类的,ide 会提示的
|
5
Pastsong Jan 5, 2018 它只是做类型检查,毕竟真正的 obj 什么样它是不知道的
|
6
pixes4world Jan 5, 2018 既然用了 TypeScript 就尽量不要用 Any 这种弱类型了,本来目的就是利用 TS 强类型的检查嘛. 对于你的问题,首先你的 obj 应该要是一个强类型对象,而不是 any,这样才能利用 TS 的编译检查。如果你的 obj 是未知类型( any ),那么直接利用 js 的 undefined 类型判断就好了。
|
7
gap OP 明白了,非常感谢大家,感觉要显示申明类型好麻烦,但代码多了不做检查 hold 不住...
|
8
Kilerd Jan 5, 2018
用 ts 还要用 any 你不如用回 js 算了。
|