久々のおさらいシリーズ。 JavaScriptにはオブジェクトや配列などの引数に与えた変数(値)が「空」かどうかを判定する関数がない。つまり、PHPで云うところの empty() や、Railsで云うところの blank? といったビルトインメソッドがないのだ。 ある変数について値が空かどうかという条件式は結構多用するので、ないならば作ってしまおう、ということでPHPの empty() 的な関数を自作してみた(実際のソースは後述)。その際、JavaScriptでの様々な「型」における「空」の判定について調査して、色々と気づいたことも多かったので、この記事にまとめてみた次第。 JavaScriptにおける「型」別の「空」について まず、JavaScriptにおいて変数が「空」であるという定義にはブレがある、というか一意な解釈がないという方が正しいのかもしれない。それが「空」を判定するようなビ
![JavaScriptでの「空」の値についてのおさらい - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/bad1ee1910d1066a3eac9694c61e5ae2b62b5619/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9SmF2YVNjcmlwdCVFMyU4MSVBNyVFMyU4MSVBRSVFMyU4MCU4QyVFNyVBOSVCQSVFMyU4MCU4RCVFMyU4MSVBRSVFNSU4MCVBNCVFMyU4MSVBQiVFMyU4MSVBNCVFMyU4MSU4NCVFMyU4MSVBNiVFMyU4MSVBRSVFMyU4MSU4QSVFMyU4MSU5NSVFMyU4MiU4OSVFMyU4MSU4NCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MDUzZjIyODg3NjFiZDgxYjAzODQxMDlkM2Y2MjAxNjk%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBrYTIxNSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NTBlOGRmYzA5NDVmMTc3MjU3MjhhYTQ2YzZmYjEzYzc%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D74dcc94475153a3b683a1cd4f5cd9705)