The Good Parts 「良いパーツ」によるベストプラクティス 2章
読んだ。
覚えるために、まとめてみる
2章 文法
2.2 名前
アルファベット、数字、アンダースコアで構成される 予約語は名前に使えない e.g. boolean, if, return, .... 予約語であるはずの文字列が予約語になっていない e.g. undefined, NaN, ... 予約語は以下のものに使えない 変数名 パラメータ名 オブジェクトのプロパティ オブジェクトのリテラル
2.3 数値
数値型は1つしかない 内部的に64bitの浮動小数 NaN 通常の値を生成できない場合に得られる NaNは、NaNを含めたどんな数ともイコールにならない isNan関数を利用し、NaNかどうかの判定を行う Infinity 1.79769313486231570e+308 より大きい数 数値はメソッドを持つ 数値処理を行う、Mathオブジェクトが用意されている
2.4 文字列
文字列リテラルは、0個以上の文字をシングルクォートまたは、ダブルクォートで囲むことで表現する バックスラッシュはエスケープ文字 すべての文字は16bit長 Unicodeが16bit文字集合だったときの名残 1文字の文字を扱う場合でも文字列として扱う エスケープシーケンスを使うことで、バックスラッシュやシングルクォートなどを文字列にいれることが出来る。 \u コードポイントの数値で文字を指定 e.g. 'A' === '\u0041' 文字列はlengthプロパティを持つ e.g. "hoge".length === 4 文字列はイミュータブル 作成後にその状態を変えることができない +演算子で文字列を連結できる 文字列ではメソッドが利用できる e.g. 'cat'.toUpperCase() === 'CAT'
2.5 命令文
JavaScriptは、すべてのコンパイルユニットを1つの名前空間に投げ込む 関数内で使われたvar文は、その関数のプライベート変数を定義する switch、while、for、do 文は、ラベルを命令文の前に付けることが出来る break文で、ラベルを指定可能 e.g. hoge: for ( i = 0; i < 10; ++i ) { if ( i == 10 ) { break hoge; } } JavaScriptのブロックは、新しいスコープを生成しない 変数は、関数の先頭で定義すべき 条件式で偽と評価される値 false null undefined 空文字列 '' 数値 0 数値 NaN 条件式で真と評価される値は、偽と評価される値以外のすべての値 switch文のcase節は、定数である必要はない for in は、指定したオブジェクトのプロパティ名を列挙する object.hasOwnProperty() メソッドを使用して、プロパティが本当にそのオブジェクトのメンバかチェックする必要があることが多い try文 try文は、ブロック部分を実行しその中で投げられた例外をキャッチする catch節では、例外オブジェクトを受け取るために新しい変数を定義する throw文 name と message の2つのプロパティを含むオブジェクトリテラルを生成させる return文 式が指定されていない場合、戻り値はundefined JavaScriptでは、return と 式 の間に改行を入れることは出来ない break文 loop文とswitch文から抜け出す作用を持つ ラベルを指定すると、そのラベルが付いた文から抜け出す JavaScriptでは、break文とラベルの間に改行を入れることは出来ない
2.6 式
もっとも単純な式 リテラル値(文字列や数値) 変数 予め用意された値(true, fales, null, undefined, NaN, Infinity) (等) typeofを使うことで以下の値を取得できる number, string, boolean, undefined, function, object オペランドが配列かnullの場合は、結果はobject 関数オブジェクト名に続けて2つの括弧を書くことで、関数呼び出しを行う 括弧の中に関数に渡す引数を入れることができる
2.8 関数
関数リテラル 関数オブジェクトを定義する
あとがき
2章読んだ感想としては、結構知らないことが多かった。
そして、これは自分の技術的な語彙力が低いことが原因だと思うが、ちょっと分かりにくかった。
この後の章でもっと深く掘り下げられるようなので、そこできちんと理解しておきたい。
まとめのやり方が間違ってる気がするな。。。
とりあえず一度読んだ後に、まとめながらもう一度読むほうがいい気がした。
あと、はてな記法をもっと上手く使いたい。もうちょっと見やすくしたい。