Javascript Logical Operator&&用于分配属性

时间:2015-09-02 14:57:24

标签: javascript operators logical-operators

我遇到了这段代码:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

        static NSString* cellIdentifier = @"customCell";
        CustomCell* cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

        cell.buttonTapAction = ^(id sender){
                //Do what you want to do when the button inside THIS cell is clicked
            };
    }

在此示例中:http://codepen.io/anon/pen/rONEMQ?editors=101

我不明白 AND && )运算符正在尝试完成什么。

根据我的理解,&amp;&amp; <和strong>运算符是将多个属性设置为值,但这似乎不是这种情况。

我的代码示例,我没有看到任何区别,因为我使用它时:

var value = this.newTodo && this.newTodo.trim();

而不是:

var value = this.newTodo && this.newTodo.trim();

或者只是这个:

var value = this.newTodo;

任何人都可以解释一下,上面和示例中的初始线与&amp;&amp;&amp; 有什么关系?

1 个答案:

答案 0 :(得分:1)

var value = this.newTodo && this.newTodo.trim();

如果this.newTodo不是“falsey”值之一,即""0falseundefinednull,{{1 (我确定我忘记了一些),然后[],否则value = this.newTodo.trim()(可能是value = this.newTodo""0,{ {1}},falseundefined等)

  

我的代码示例,我没有看到任何区别,因为当我使用它时:

     

var value = this.newTodo&amp;&amp; this.newTodo.trim();

     

而不是:

     

var value = this.newTodo;

如果this.newTodo是null ...你是对的,没有区别

如果this.newTodo id [] ...值将为"Hello World" ...即修剪 med前导和尾随空格