Javascript三元运算符语法不理解
我想了解这一点,请,有人可以写为(如果/其他/其他)状态Javascript三元运算符语法不理解,javascript,Javascript,我想了解这一点,请,有人可以写为(如果/其他/其他)状态 lists[list === 'todo' ? 'done' : 'todo'].appendChild(task); 谢谢您可以将其改写为: if (list === 'todo') { lists.done.appendChild(task); } else { lists.todo.appendChild(task); } 这里的问题是,您可以通过访问对象的任何属性,这允许变量和表达式解析为属性名称。因此,lis
lists[list === 'todo' ? 'done' : 'todo'].appendChild(task);
谢谢您可以将其改写为:
if (list === 'todo') {
lists.done.appendChild(task);
}
else {
lists.todo.appendChild(task);
}
这里的问题是,您可以通过访问对象的任何属性,这允许变量和表达式解析为属性名称。因此,lists.done
相当于lists['done']
但对于后者,您可以使用表达式来计算键名。这是原始示例中的内容。您可以将其改写为:
if (list === 'todo') {
lists.done.appendChild(task);
}
else {
lists.todo.appendChild(task);
}
if (list === 'todo') {
lists['done'].appendChild(task);
else {
lists['todo'].appendChild(task);
}
这里的问题是,您可以通过访问对象的任何属性,这允许变量和表达式解析为属性名称。因此,
lists.done
相当于lists['done']
但对于后者,您可以使用表达式来计算键名。这就是原始示例中的情况。奇怪的逻辑-如果某个对象的状态为“todo”,则将其添加到“done”,否则添加到“todo”,我认为三元运算符重复至少是OP混淆的一半。主要是关于括号符号与三元符号的组合。奇怪的逻辑——如果某个对象的状态为“todo”,则将其添加到“done”,否则添加到“todo”,我认为三元运算符重复至少是OP混淆的一半。主要是关于括号符号和三元符号的组合。这很有用,非常感谢。这部作品,非常感谢
if (list === 'todo') {
lists['done'].appendChild(task);
else {
lists['todo'].appendChild(task);
}