如何在同一行中解释=和===?

问题描述:

我遇到这个代码片段如何在同一行中解释=和===?

render: function() { 
    var boards = []; 
    for (var ii = 0; ii < this.props.numBoards; ii++) { 
     // We can compare to state here so we're no longer always selecting the first board. 
     var isSelected = ii === this.state.selectedIndex; 
     boards.push(
     <Board index={ii} selected={isSelected} /> 

    ); 
    } 

isSelected = ii === this.state.selectedIndex如何执行?

下面是完整的代码:http://jsbin.com/dagavu/4/embed?css,js,output

+1

修复标题......... –

+0

我知道它不会影响您的问题,但这是无效的JavaScript。从

+0

我应该将标题改为? – Tony54

下面的代码是在2执行的步骤

isSelected = ii === this.state.selectedIndex 

1. ii === this.state.selectedIndex // comparator operator 
2. isSelected = (result of step 1) // assignment operator 
+0

您确定第2步不是首先执行? –

+1

@TobyAllen如果涉及步骤1的结果,步骤2如何首先执行? –

+0

@TobyAllen - 是 – nikhil

为了清楚该行应该写成:

isSelected = (ii === this.state.selectedIndex); 

这是因为=====用于比较,语句ii === this.state.selectedIndex将返回true o r false因此isSelected将是truefalse。就像if (ii === this.state.selectedIndex)只有在比较语句为真时才会执行其代码块一样。