【发布时间】:2015-09-02 14:57:23
【问题描述】:
我遇到了这段代码:
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();roghly 是如果this.newTodo是truthy然后将this.newTodo.trim()分配给value变量 -
如果
this.newTodo不计算为True,那么this.newTodo.trim()将永远不会被调用。如果它确实评估为 True,那么它将被修剪。
标签: javascript operators logical-operators