Javascript 用于分配属性的逻辑运算符 &&
Javascript Logical Operator && used to Assign Properties
我遇到了这段代码:
var value = this.newTodo && this.newTodo.trim();
在这个例子中:http://codepen.io/anon/pen/rONEMQ?editors=101
我不明白 AND (&&) 运算符试图做什么完成。
据我了解,&& 运算符是将多个属性分配给一个值,但这里似乎并非如此。
我的代码示例,我没有看到任何区别,因为当我使用它时:
var value = this.newTodo && this.newTodo.trim();
而不是这个:
var value = this.newTodo;
或者只是这样:
var value = this.newTodo.trim();
谁能解释一下,上面和示例中的初始行与 && 有什么关系?
var value = this.newTodo && this.newTodo.trim();
如果 this.newTodo 不是“虚假”值之一,即 ""
、0
、false
、undefined
、null
, []
(我确定我忘记了一些),然后是 value = this.newTodo.trim()
,否则 value = this.newTodo
(可能是 ""
、0
、false
、undefined
、null
、[]
等)
I my code example, I don't see any difference, for when I use this:
var value = this.newTodo && this.newTodo.trim();
Instead of this:
var value = this.newTodo;
如果this.newTodo是"Hello World"
...你是对的,没有区别
if this.newTodo id " Hello World "
... 值将是 "Hello World"
... 即 trimmed of leading和尾随空格
我遇到了这段代码:
var value = this.newTodo && this.newTodo.trim();
在这个例子中:http://codepen.io/anon/pen/rONEMQ?editors=101
我不明白 AND (&&) 运算符试图做什么完成。
据我了解,&& 运算符是将多个属性分配给一个值,但这里似乎并非如此。
我的代码示例,我没有看到任何区别,因为当我使用它时:
var value = this.newTodo && this.newTodo.trim();
而不是这个:
var value = this.newTodo;
或者只是这样:
var value = this.newTodo.trim();
谁能解释一下,上面和示例中的初始行与 && 有什么关系?
var value = this.newTodo && this.newTodo.trim();
如果 this.newTodo 不是“虚假”值之一,即 ""
、0
、false
、undefined
、null
, []
(我确定我忘记了一些),然后是 value = this.newTodo.trim()
,否则 value = this.newTodo
(可能是 ""
、0
、false
、undefined
、null
、[]
等)
I my code example, I don't see any difference, for when I use this:
var value = this.newTodo && this.newTodo.trim();
Instead of this:
var value = this.newTodo;
如果this.newTodo是"Hello World"
...你是对的,没有区别
if this.newTodo id " Hello World "
... 值将是 "Hello World"
... 即 trimmed of leading和尾随空格