【发布时间】:2020-10-13 04:46:12
【问题描述】:
有没有办法在展开运算符中处理 null 而不指定 if 和 else?
在以下场景中,我只想在 assignedStudents 未定义时传播它。
如果我在不使用 if else 的情况下执行此操作,则会收到错误消息:
TypeError: 传播不可迭代实例的尝试无效
为了处理这个问题,我使用 if else,但认为有更好/优雅的方式来做这件事。
let questions;
if (assignedStudents) {
questions = [
...assignedStudents,
{
questionId: randomId,
question: ''
}
];
} else {
questions = [
{
questionId: randomId,
question: ''
}
];
}
【问题讨论】:
-
例如,您可以将
assignedStundents初始化为一个空数组。 -
ECMASrcipt2020 具有 null 合并运算符 (??),它检查 null 和 undefined 并在这种情况下返回右手运算符。你可以去看看
标签: javascript reactjs typescript ecmascript-6