二つの値が同じかどうかを比較することができる等価演算子。
JavaScriptでも「==」を使用して二つの値を比較しますが、自動的な型変換が行われることによって、何が等しいとみなされるのかかなり複雑な状況が発生するようです。
本日紹介する「JavaScript Equality Table Game」は、このJavaScriptの等価演算子に関する知識をマインスイーパー風画面で確認することができるオンラインゲームです。
等価が成り立つ座標にフラグを立てていき、結果を表示すると自分の成績が表示されます。
目次
JavaScript Equality Table Gameの遊び方
JavaScript Equality Table Gameでは等価が成り立つと思われるポイントをクリックしてフラグを立てていきます。マトリックス形式なので対称の座標には自動的にフラグが立てられます。
もともとチェックがついてるのは「true == true」のように明らかに等価が成り立つポイントです。全て付け終わったら「Show Results」で結果を確認します。
▲結果は残念ながら「105% wrong」と表示されました。スコアの計算方法は「(flags - hits + misses) / (max hits)」となっています。
▲100%正解すると「100% correct」と表示されます。ちなみに「JavaScript-Equality-Table」を参考にすればズルすることも可能です。
まとめ
JavaScriptの等価演算子は複雑な挙動を示すため、実際にプログラムを作成する際は、厳密な比較を行う「===」を使用することが推奨されています。とはいえ他人の書いたプログラムを解読する際に知っておくと役に立つ知識といえそうです。