【发布时间】:2019-11-08 16:52:36
【问题描述】:
在 TypeScript 3.7.2 中,我可以使用可选链。
requests?.requestsCount
你能解释一下它是如何工作的吗?
// before
requests ? requests.requestsCount : 0
// after
requests?.requestsCount || 0
我看到了我的代码的编译版本。
"use strict";
var _a;
return {
requests: ((_a = requests) === null || _a === void 0 ? void 0 : _a.requestsCount) || 0
};
你能解释一下void 0 吗?在release docs 中它应该是未定义的。
let x = (foo === null || foo === undefined) ? undefined : foo.bar.baz();
我可以安全地使用这种语法糖吗?
【问题讨论】:
-
据我了解,这是 undefined 的缩写?
-
void 0是,是的。 -
但我不明白这一行
(_a = requests) -
你是什么意思,完全正确?您了解哪些部分?那不是一行,这是一个赋值表达式。
-
@jonrsharpe,作业时刻,为什么会出现在这里?
标签: javascript typescript