var person =null; // Value is null, but type is still an object
そういうことだったのか。結果違うなくらいしか思ってなかった
== 等しい
=== 値と型が等しい
こんなのあったんか
instanceof オブジェクトがオブジェクト型のインスタンスである場合に true を返します
プロパティね
オブジェクトのプロパティ
名前:値のペア(JavaScript オブジェクトにおける)は、プロパティと呼ばれます。
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
なにこれ、何に使うの
var x = new String(); // Declares x as a String object
var y = new Number(); // Declares y as a Number object
var z = new Boolean(); // Declares z as a Boolean object
いらないでしょこの機能
myFunction();
// code here can use carName
function myFunction() {
carName = "Volvo";
}
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
ほー
=== 演算子を使用する場合、型と値の両方が等しくなければ、ブール値が同じでも等しくはなりません。
例
var x = false;
var y = new Boolean(false);
// (x === y) is false because x and y have different types
更に悪いことに、オブジェクトは比較できません:
例
var x = new Boolean(false);
var y = new Boolean(false);
// (x == y) is false because objects cannot be compared
Continue 文
continue 文 は、指定の条件が発生した場合(ループ内の)1回の反復を抜け出し、ループ内の次の反復処理を続行します。
次の例では、値 3 をスキップします:
例
for (i = 0; i < 10; i++) {
if (i === 3) { continue; }
text += "The number is " + i + "<br>";
}
巻き上げね。初期化は巻き上げられない。宣言のみ巻き上げられる。使わないけど。
http://memopad.bitter.jp/w3c/js/js_hoisting.html
getonlyなんてあったんか
get-only プロパティへの書き込みはできません:
"use strict";
var obj = {get x() {return 0} };
obj.x = 3.14; // This will cause an error
ほう
"use strict" ディレクティブは、スクリプトや関数の先頭にないと認識されません。
次の if 文は、0 が false であるため、(多分期待に反して)false を返します:var x = 0;
if (x = 0)Try it Yourself »
代入は常に代入の値を返します。(訳注:???何を言いたいやら)<= いやいや。返すでしょ。
var x = 0
undefined
x = 0
0
var x = y = 0
undefined
x
0
y
0
そうだったんか
switch 文が厳密な比較を使用していることを忘れるのは共通した間違いです:
次の場合の switch はアラートを表示します:
var x = 10;
switch(x) {
case 10: alert("Hello");
}
次の場合の switch はアラートを表示しません:
var x = 10;
switch(x) {
case "10": alert("Hello");
}