JavaScript は、世界中の何百万ものフロントエンド開発者の間で最も愛されている言語ですが、他のツールと同様に、癖があります。
null で typeof 演算子を使用するとどうなるか考えたことはありますか?まあ、これは JavaScript の中で最も奇妙で最も混乱を招くものの 1 つです。
typeof 演算子は、型として string を返すため、「Hello World」のようなリテラルでは正常に機能します。 numbers と boolean.
にも同じことが当てはまります。ただし、null の場合は、null や unknown のようなものが返されることを期待するかもしれませんね。しかし、null で typeof 演算子を使用すると、実際には object.
が返されることを知って驚かれるかもしれません。この結果は奇妙に思え、開発者、特に JavaScript を初めて使用する開発者を簡単につまずかせる可能性があります。
しかし、JavaScript はなぜそのようなことをするのでしょうか?
これを理解するには、1990 年代の JavaScript の初期に戻る必要があります。
当時、この言語が最初に開発されたとき、その設計に間違いがありました。値 null には、オブジェクトに使用されるものと同様の特別な内部コードが与えられました。その結果、typeof 演算子が null をチェックすると、誤ってオブジェクトとして識別されます。
これは意図しないエラーではありましたが、論理に反するため、依然としてバグとみなされます。
残念ながら、このバグはかなり前から存在しているため、今修正すると、現在の動作に依存している既存のコードの多くが壊れる可能性があります。
しかし、時間が経つにつれて、多くの開発者はこの問題に対処し、それを回避する方法を見つけることを学びました。
これは、どれほど広く使用されているとしても、完璧なプログラミング言語はないということを私たち全員に思い出させます。
その目的は、これらの癖を理解し、より優れた開発者になり、将来の世代のために、より信頼性が高くエラーのないコードを作成することです。
Web 開発と AI に関連するコンテンツの最新情報を入手するには、お気軽にフォローしてください。一緒に学び、成長していきましょう!
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3