2007年05月01日

javascript:厳密なイコール

ぜんっぜん、知らなかったんですが「===」が、ECMA では規定されています。
=== と == に関してちょこちょこっと。

今更何を言っとるんだ状態ですが、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つも別件開発入れ込んだら・・・死ぬかと思った。
posted by HiFa at 13:53 | 🌁 | Comment(0) | TrackBack(0) | JavaScript雑感 | このブログの読者になる | 更新情報をチェックする
>>> スパムコメントは消してますよん。 お互い無駄な労力は避けましょう。 <<<

この記事へのコメント

コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。