小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


社内でJavaScript(JS)の勉強会をやってみたよ。(2)

社内でJavaScriptの勉強会を開催してみました。
第2回目の今回は、JavaScriptの基礎文法とJavaScriptの型をテーマにお話しました。基礎文法についての資料を作成する際には、JavaScript基礎文法最速マスター - なんとなく日記 はてなブックマーク - JavaScript基礎文法最速マスター - なんとなく日記が非常に参照になりました。

switch〜case文では、値を比較する際に型を意識してくれるの?

型を意識した厳密な比較をしてくれます。

var a = 0;
switch (a) {
  case 0: alert("number zero"); break;
  case "0": alert("string zero"); break;
  default: alert("other"); break;
}
>>number zero

var a = "0";
switch (a) {
  case 0: alert("number zero"); break;
  case "0": alert("string zero"); break;
  default: alert("other"); break;
}
>>string zero
文字列と数値を加算したら結果はどうなるの?

文字列になります。

var a = "15";
var b = 5;
alert(a+b);
alert(typeof(a+b));
>>155
>>string
オブジェクトの比較はどうするの?

文字列や数値同様、等価演算子で比較することができます。

var a = {}; // 空のオブジェクト
var b = {}; // 空のオブジェクト
alert(a == b);
>>false

でも、参照をコピーした場合は、同じになります。

var a = {}; // 空のオブジェクト
var b = {}; // 空のオブジェクト
var c = a;
alert(a == c);
>>true