多くのプログラミング言語で「値がない」を表現する方法は、nullなど1通りです。しかし、JavaScriptでは「値がない」に相当する表現にnullとundefinedの2通りがあります。他の言語からJavaScriptに来た人が驚き、使い分けに悩む部分です。ここでは、nullとundefinedの仕様上の違い、実際のコーディングでどう使い分けるべきかについて説明します。 意味合いの違いundefinedとnullは大きなくくりで「値がない」ことを意味する点は共通しています。意味的な違いがあるとしたら、undefinedは「値が代入されていないため、値がない」、nullは「代入すべき値が存在しないため、値がない」という微妙な違いです。 この意味的な違いを厳密につきつめてコーディングするのは、入門者には難しいものです。使い分けに客観的な基準があるわけではないためです。もしどちらを使うべきか
![undefinedとnullの違い | TypeScript入門『サバイバルTypeScript』](https://cdn-ak-scissors.b.st-hatena.com/image/square/b142377445cadcba13687b690730fd9bf7f3e439/height=288;version=1;width=512/https%3A%2F%2Ftsbook-og-image.vercel.app%2Fundefined%25E3%2581%25A8null%25E3%2581%25AE%25E9%2581%2595%25E3%2581%2584.png%3Fpattern%3Dcross%26md%3D0%26fontSize%3D75px%26textColor%3D%2523ffffff%26textStrongColor%3D%25238340BB%26overlay%3Dhttps%253A%252F%252Fraw.githubusercontent.com%252Fyytypescript%252Fog-image%252Fmain%252Fpublic%252Fogp-overlay.svg)