我發現React JS後,對Javascript來說還是比較新的,而且我遇到了一個我不明白的問題。Javascript 1 === 1是虛假的
我有以下代碼,哪個控制檯將兩個變量都記錄爲具有相同值的數字。然而它顯示爲錯誤...爲什麼?
非常感謝您提前。
<Nav tabs>
{
navigation.map((page, i) => {
++i;
var match = this.state.activeTab === { i };
console.log(
typeof(i) + " " + i,
typeof(this.state.activeTab) + " " + this.state.activeTab,
match
);
return (
<NavItem>
<NavLink
className={
classnames({
active: match,
'cursor-pointer': true
})
}
onClick={() => { this.toggleTab({ i }) }}
>
{ page.name }
</NavLink>
</NavItem>
)
})
}
</Nav>
我得到了我的控制檯日誌中的以下內容:
app.js:89525 number 1 number 1 false
app.js:89525 number 2 number 1 false
app.js:89525 number 3 number 1 false
app.js:89525 number 4 number 1 false
app.js:89525 number 5 number 1 false
app.js:89525 number 6 number 1 false
當然第一個日誌應顯示爲真。
'{I} == i'但你永遠不能登錄'{I}' – Quentin
你沒有做'1 === 1',而是'1 === {1}'。刪除括號 – Weedoze
看看'this.state.activeTab === {i}'我可以告訴你'{i}'不是一個數字,而是一個具有以下形式的對象:'{i:i}'。 –