【发布时间】:2018-05-22 18:11:43
【问题描述】:
在 typescript 2.6 中,我想编写一个执行 null 检查的函数。当我启用严格的空检查时,typescript 2.6 抱怨以下代码。 (注意直接使用空检查时有效)
已编辑:更正 notNullOrUndefined,因为它没有检查 foo
interface A {
foo: string | undefined;
}
const notNullOrUndefined = (a: A): boolean => {
return a.foo != null;
}
const len = (a: A): number => {
//if (a.foo != null) {
if (notNullOrUndefined(a)){
return a.foo.length;
}
return 0;
}
这里是一个例子:example
解决这个问题的打字稿方法是什么?
【问题讨论】:
-
似乎您应该检查
a和a.foo是否为空或未定义。类似const len = (a: A): number => a && a.foo && a.foo.length || 0; -
如果你使用 (a && a.foo != null) 会怎样
标签: javascript typescript