输出值可能未定义

时间:2018-04-30 09:43:14

标签: typescript

我有一个名为root的变量,可能未定义也可能未定义。我只会在运行时知道。

const root = resolvedRoot || await this.fileSystem.getCurrentUserHome();
console.log('root.uri = ' + root.uri);

由于上述任一/或语法,参数root.uri可能存在也可能不存在。

有没有办法安全,干净地输出root.uri

1 个答案:

答案 0 :(得分:0)

您必须检查root是否为undefined

const root = resolvedRoot || await this.fileSystem.getCurrentUserHome();
if (root && root.uri) {
    console.log('root.uri = ' + root.uri);
}

这样,您检查root是否存在且是否已定义,如果是,则表明其uri属性不是undefinednull

如果rootundefinednull,那么条件的后续部分就不会被评估,所以没有问题。