我想理解这一点,有人可以写为(if / else / elseif)的陈述???
lists[list === 'todo' ? 'done' : 'todo'].appendChild(task);
由于
答案 0 :(得分:3)
您可以将其重写为:
if (list === 'todo') {
lists.done.appendChild(task);
}
else {
lists.todo.appendChild(task);
}
这里的事情是你可以通过bracket notation访问对象的任何属性,它允许变量和表达式解析为属性名。因此,lists.done
相当于lists['done']
,但后者可以使用表达式来计算密钥名称。这就是原始示例中的内容。
答案 1 :(得分:1)
if (list === 'todo') {
lists['done'].appendChild(task);
else {
lists['todo'].appendChild(task);
}