2月13日に行われたHead First JavaScript読書会 01に参加しました。
この読書会は、Head First JavaScriptの決まった章を読んできて、追加説明を交えながらJavasciptを基礎から学んでいく勉強会です。
しょっぱなから今日の範囲(1章と2章)、流し読みで参加してしまいまして・・・苦労しました。
次回からはちゃんと読んでいきます。
知らなかった事いろいろ
へえ!そうなんだ!と思った事色々を箇条書きにしておきます。
外部ファイルとして定義したスクリプトファイルのキャッシュを適切に制御する
<script type="text/javascript" src="hogehoge.js?20120102"></script>
ファイル名の後ろに任意の文字列をつける事ができる。
内容を変更したタイミングで末尾の文字列を変えると別ファイルとして認識されるのでキャッシュクリアされる。
あと、scriptタグは外部ファイル定義するときも /> で閉じてはいけない。
prompt
使った事なかった・・・。
constで定数定義、遅延初期化はできない
const A; A = 10; alert(A); // undefined
こんな形で使う事ないけど、しらなかった。
constで定義した定数のスコープってどうなるんだろ。
+演算子のルール
前から評価、前から型を推測。
1 + 2 => 3 "1" + "2" => 12 1 + "2" => 12 1 + 2 + "4" => 34 "1" + 2 + 4 => 124 true + 3 => 4 false + 3 => 3 true + true + "3" => 23 true + "3" => "true3"
parseIntとisNaN
isNaNの方が数値の定義が厳しい。
isNaN("200aaa") => true parseInt("200aaa") => 200
parseIntとN進数
0が先頭だと8進数、0xが先頭だと16進数に勝手に解釈される。
文字列から適切な進数に変換するためには第二引数を指定する。
parseInt("077") => 63 parseInt("077", 10) => 77
ルート、ノード、リーフ、エレメント
(この辺はもう頭が沸騰していてアレでした)
親がルート、末端がリーフ、それぞれがノード≒エレメント。
エレメントのidは重複しちゃだめ、絶対。
今日の発見、ここまで。
—–
学ぶ形式の勉強会、仕事終わりだとなかなかハードですね。
アジャイルサムライ読書会や達人プログラマ読書会とは違った部分の脳を使います。
終わり30分前くらいにはぐったりしていました(電池切れ)。
体力つけないと、と感じた勉強会でもありました。
次回、リベンジできるかな。