在賦值運算子篇中有提到常常被新手搞混的「==」,這篇就會來介紹和 == 同為比較運算子的成員。
大於: >
- 判斷左式是否大於右式,與數學中的大於無異。
小於: <
- 判斷左式是否小於右式,與數學中的小於無異。
等於: ==
- 判斷左右兩邊是否相等,相等回傳true,不相等回傳false,就和數學中的相等是一樣的,值得注意的是,因為js是弱型別語言,所以在使用時他會先幫你強制轉型,所以可以用來比較數字和字串,比如說: 很酷吧,明明兩個型態不一樣,但內容一樣比較結果就是相等。
1
console.lo(1 == '1'); //執行結果: true
- 判斷左右兩邊是否相等,相等回傳true,不相等回傳false,就和數學中的相等是一樣的,值得注意的是,因為js是弱型別語言,所以在使用時他會先幫你強制轉型,所以可以用來比較數字和字串,比如說:
嚴格等於: ===
- 那如果我不想要他幫我強制轉型怎麼辦?我就是要判斷他是不是不同型別啊?那沒問題喔,js有提供另一種等於,叫做嚴格等於,就跟其他強型別語言中的 == 一樣,型別不同就會回傳false。
1
console.log(1 == '1');//執行結果: false
- 那如果我不想要他幫我強制轉型怎麼辦?我就是要判斷他是不是不同型別啊?那沒問題喔,js有提供另一種等於,叫做嚴格等於,就跟其他強型別語言中的 == 一樣,型別不同就會回傳false。
大於等於: >=
- 判斷左式是否大於等於右式,這裡也是不嚴格。
小於等於: <=
- 判斷左式是否小於等於右式,這裡也是不嚴格。
不等於: !=
- 和 == 類似,這是比較左右兩式是否不等,同樣也是不嚴格比較,所以數字和字串相比可能會得到與你預期不同的結果。
1
console.log(1 != '1');//執行結果: false
- 和 == 類似,這是比較左右兩式是否不等,同樣也是不嚴格比較,所以數字和字串相比可能會得到與你預期不同的結果。
嚴格不等於: !==
- 你如果希望上面那段code得到true的結果就可以使用這個。 這些就是全部的比較運算子,第一次接觸的js的時候常常因為不嚴格等於而遇到bug,所以大家在寫的時候最好多注意一下,不要犯了跟我一樣的錯。
1
console.log(1 != '1');//執行結果: true
- 你如果希望上面那段code得到true的結果就可以使用這個。