🍎

不等価演算子(!=)を少しだけ調べてみた

2023/11/30に公開

みなさんこんにちは!
スペースマーケットエンジニアのreyです!

11月がもうすぐ終わり、2023年もいよいよあと残り1ヶ月ですね...!!

弊社では、主にTypescript・Rubyなどを使用しているため、
たまに複数の言語を横断して使用することがあります。

先日、Typescript(フロントエンド)を書いた後に、Ruby(バックエンド)を書いていた時に、

aaa !== bbb

と書いてしまい、エラーになってしまいました...

正しくは、こちらになります。

aaa != bbb

記号だけをそのまま暗記しようとすると、すぐ忘れてしまいがちですが、
名称の由来などを理解すると記憶が定着しやすいので、
同じ間違いを繰り返さないように、ちょっとだけ理解を深めてみることにしました。

調べた結果

Wikipediaを参考にさせて頂いたところ、等号は本来は「=」と表現しますが、
FORTRANが「=」を代入演算子として使用していたため、
「==」を等価演算子として使うようになったのが始まりのようです。
不等号は「≠」と表現するため、「!」と「=」を組み合わせて、
「!=」といった形式を不等価演算子として多く使用するようになったそうです。

!= (不等価演算子)

左と右の値が同値ではないかどうかを確認して、論理値を返す。
型までは厳密に見ていない。

  • 型のない言語:Ruby・Python・Javascript
  • 型のある言語:Java

!== (厳密不等価演算子)

左と右の値が型も含めて同値ではないかどうかを確認して、論理値を返す。
型のある言語はこちらの表現を有する場合が多い。

  • 型のない言語:Javascript
  • 型のある言語:Typescript・Swift

(Rubyは、!==はありませんが、===はあります。)

言語の祖先によっても違いがあるのだろうなと思いましたが、
知見が少しだけ増えました!

最後に

スペースマーケットでは一緒に働く仲間を募集しています!
新しい技術に興味がある方も、手を上げればチャレンジできる環境だと思います。
カジュアルに話を聞きたいだけという方でも大歓迎ですので、ちょっとでも興味があれば
こちらからご応募をお待ちしております!

▼SRE/インフラエンジニア
https://www.wantedly.com/projects/1113570

▼バックエンドエンジニア
https://www.wantedly.com/projects/1113544

▼Androidエンジニア(iOSも大歓迎です!)
https://www.wantedly.com/projects/1061116

▼エンジニア採用ページ(迷ったらこちらからどうぞ!)
https://spacemarket.co.jp/recruit/engineer/

スペースマーケット Engineer Blog

Discussion