8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

知ってるようで知らない is false な値

Last updated at Posted at 2014-06-21

確認した環境

  • Mac Firefox 30.0
  • Windows Google Chrome: 91.0.4472.77

false 扱いされる値

JavaScript で false な扱いをされる値は 6 つある。

false, 0, "", null, undefined, NaN

var falseVals = [false, 0, "", null, undefined, NaN];
for (var i in falseVals ) {
  if ( falseVals[i] ) {
    console.log("true val: " + falseVals[i]);
  } else {
    console.log("false val: " + falseVals[i]);
  }
}
false val: false
false val: 0
false val: 
false val: null
false val: undefined
false val: NaN

空文字列が false 扱いされるというのがハマりどころな感じ。

さらに気をつけなきゃいけないところは、ここで false 扱いされる値が == fasle でないというところ。

var falseVals = [false, 0, "", null, undefined, NaN];
for (var i in falseVals) {
  if ( falseVals[i] == false ) {
    console.log("false is equal " + falseVals[i]);
  } else {
    console.log("false is not equal " + falseVals[i]);
  }
}
false is equal false
false is equal 0
false is equal 
false is not equal null
false is not equal undefined
false is not equal NaN

分かってはいても混乱しそう。

8
8
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?