如何在同一行中解释=和===?
问题描述:
我遇到这个代码片段如何在同一行中解释=和===?
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
如何执行?
答
下面的代码是在2执行的步骤
isSelected = ii === this.state.selectedIndex
1. ii === this.state.selectedIndex // comparator operator
2. isSelected = (result of step 1) // assignment operator
答
为了清楚该行应该写成:
isSelected = (ii === this.state.selectedIndex);
这是因为==
和===
用于比较,语句ii === this.state.selectedIndex
将返回true
o r false
因此isSelected
将是true
或false
。就像if (ii === this.state.selectedIndex)
只有在比较语句为真时才会执行其代码块一样。
修复标题......... –
我知道它不会影响您的问题,但这是无效的JavaScript。从
我应该将标题改为? – Tony54