=== と == に関してちょこちょこっと。
今更何を言っとるんだ状態ですが、javascript === 曖昧 (笑)という図式が私ん中で出来上がっちゃってまして「そんなものはない」と信じ込んでたんですね。
Javascript を扱ってるサイトでも見かけませんよね。(というか気付かなかった)
正直、ECMAscript, DOM, javascript って何が何やら境界がよく分からん。Javascript や action script などが ECMAScript 準拠って事ぐらい。
ま、プロジェクト管理者の中ですら Ajax = javascript なんて人も居るんで、ま、分かり辛いって事で締めとくか。
Javascript を扱ってるサイトでも見かけませんよね。(というか気付かなかった)
正直、ECMAscript, DOM, javascript って何が何やら境界がよく分からん。Javascript や action script などが ECMAScript 準拠って事ぐらい。
ま、プロジェクト管理者の中ですら Ajax = javascript なんて人も居るんで、ま、分かり辛いって事で締めとくか。
以下、意外だった人には意外な事w
ちなみにこれって当たり前の人って多いのだろうか?
false == 0; // true
false == ""; // true
0 == ""; // true
私は、いつも、0, "", false(, null, undefined) あたりは一くくりで考えてまして、同じように扱っていたんですね。
つまり、"" や 0 はそれ自体ほとんど false 扱いなんですよ。条件分岐では。
当然、これで何も問題ない。(false == 0, false == "" なので。)
ただ、null, undefined だけは別で扱う事が多かったんですけど。
undefined == void(0); // true
undefined == false; // false
void(0) == false; // false
== でも undefined は false とは別扱いです。
ちなみに
typeof(undefined); // undefined
typeof(null); // object
で、=== とはなんぞやって大雑把に言えば変数の型まで評価します。なので
0 === "0"; // false
0 !== "0"; // true
ちなみに
0 == "0"; // true
false == "0"; // true
参考:Standard ECMA-262
久々の更新だ。
会社の本業以外に2つも別件開発入れ込んだら・・・死ぬかと思った。
会社の本業以外に2つも別件開発入れ込んだら・・・死ぬかと思った。
この記事へのコメント