empty
って名がつくもの、いろいろな言語やフレームワークにあるんですが、言語によってあらわすものがまちまちなので気をつけたほうがいいよねっていう小話
いろいろなempty
Ruby
empty?メソッドは、文字列が空文字列(長さがゼロ)ならtrue、空でなければfalseを返します。
Rubyは空文字かどうかを判断しているのでnullかどうかは見ない。
PHP
変数が空であるかどうかを検査します。 変数が空であるとみなされるのは、変数が存在しない場合や 変数の値が FALSE に等しい場合です。 empty() は、変数が存在しない場合でも警告を発しません。
Rubyと近いように見えるのですが、PHPの世界観においての 空
は広いので結構違う
次のような値は空であるとみなされます。
・"" (空文字列)
・0 (整数 の 0)
・0.0 (浮動小数点数の 0)
・"0" (文字列 の 0)
・NULL
・FALSE
・array() (空の配列)
Java
Javaの場合はString.isEmptyが一番メジャーそうなのでそちらを例に。
String - isEmpty (Java Platform SE 8 )
length()が0の場合にのみ、trueを返します。
文字列の長さを見る、Rubyの挙動とほぼ一緒。
C#
空の文字列を表します。 このフィールドは読み取り専用です。
C#の場合は空文字を表す定数値として利用されます。
他の言語同様に状態として見たい場合は isNullOrEmpty
とかが使われます。
jquery
.empty() | jQuery 1.9 日本語リファレンス | js STUDIO
要素内の子要素(テキストも対象)を全て削除します。
大概が空白チェック用途なのにいきなり違うのがjquery
あとがき
とりあえず観測できる範囲でみましたけど、結構言語によってemptyが使われる文脈はまちまち。特にRuby、PHP、jqueryは似た感じの使い方ができるのに期待値がズレやすいので気をつけたい。