南極の図書館

ペンギンが寝ていた…。

「初めてのJavaScript 第2版」を読んでいるので備忘としてまとめ。その1

現在3章終了。


感想として一番大きいのは、「実際に使われている慣習や、歴史についての記載が多い」ということ。これは初心者にとって重要だし、良いことだと思う。
また、難しいことだが「プログラミングをしたことがない人でもそれなりに読めるレベル。でも内容はしっかりしてる。」ということも出来ている。


ということで、以下は各章の備忘。個人的な「意見」は殆ど入れてません。大事なところは引用で。

〜第1章〜
P17
JavaScriptに関して従った方がよい原則は多数ありますが、一つだけ選ぶとしたら、それは次の原則になります。―JavaScriptを使ってどのような機能を実現しようとも、それがサイトとサイト利用者の間に立ちはだかる障壁となってはならない。

たとえば、noscriptタグを使う。


・scriptタグを置く位置。
head要素内・・・保守観点から。記載箇所が散っていると編集が困難になるから。
body要素内・・・速度観点から。(defer="defer"(IEのみ)を使ってもheadでは遅い)
本書ではhead内を推奨。


・標準について。
ECMAscriptは2009/06でECMA-262 3rdeditionである。
JavaScriptはブラウザによって動作が違う。
→ブラウザを特定することが重要だった。
→language属性が非推奨になる。
→オブジェクト検出が使われるようになる。


・言語について。
JavaScriptでいうオブジェクト=名前を付けられた値(プロパティ)の集合
JavaScriptはメソッドもプロパティに含まれる。
オブジェクトは.(ドット)でどこまでもつなげられる。
JavaScriptライブラリをつかうときは、変数はvarで定義(ローカル変数となる)すべき。
文の終わりは改行またはセミコロン。


・XHTML互換にする方法。
今は

<!-- -->

は推奨されない。
CDATAセクションを使いその開始と終了は//で隠すべき。
とはいえ主流は埋め込みではなくファイル指定である。
ファイルにするとキャッシュされるので効率も良い。


・イベントハンドラ
onclick,onmouseover⇔onmouseout,onfocus⇔onblur

〜第2章〜

JavaScriptは型づけの弱い言語
最近(のライブラリ)は、宣言にキャメルケースを使うことが多い。


・prototype効果-Java,Python,Rubyと似たような見かけ、動きにする-
privateとして扱う変数は_を付ける。
ショートカットメソッドは$を付ける。- $(); $A();
オブジェクトは頭文字を大文字、それ以外は小文字でキャメルケース。定数は全大文字。―MONTH等
このほかにも、Dojoの文書によくまとめられている。

・データ型
3つの単純データ型と、同名のオブジェクトが存在する。
読み取り専用の定数はconstを使う。(IEではconstは使えないので、使わない方がよいが。)
筆者は、常に定数はグローバルとしている。(P37)

P26
したがって文字列に対してStringオブジェクトのメソッドを利用する(つまりオブジェクトのように扱う)のならば、最初からラオブジェクトとして生成したほうがよいということになります。


・エスケープシーケンス
他言語とほぼ同じ。Unicodeが使える―「\u7231」で「愛」という漢字が出せる。―


・文字列への変換(P31)
var value = 4 + 3 + "1";  とすると71となる。

  1. ではない(-,*,/)は文字列として扱わない。―var aaa = "35" -3;  これは32となる。―


・数値
範囲は-2^31から2^31におさめたほうがよい。
16進数は(-)0x(0000)で表す。

P37
最近では大規模で複雑なJavaScriptライブラリを利用したり、ウェブサービスの応答に組み込まれるようなアプリケーションを利用したりするようになってきたため、(中略)nullやundefinedの変数にアクセスしてしまった場合どんなことが起こるのかを頭に置いておくことも必要です。
第3章
P44
JavaScriptの場合、除算の結果が切り捨ての整数でなく浮動小数点になります。
iValue = 3 / 2 ; 結果は1.5になる。


・条件文

if{
else if
}

が使える。

switch(式){
case raberu1:
foo;
break;
case raberu2:
foo2;
break;
default:
bar;
}

が使える。

P57
(式)||(式)では、1番目の式がtureなら全体がtrueと決まるので、2番目の式は評価しません、したがって、CPU等のリソース消費の少ない条件を前に置けば、プログラムを幾分か効率化できます。ただし、その結果プログラムが読みにくくなるのならばやめた方がいいでしょう。


ここまで見て、他のプログラミングの知識は必要ではないが、htmlのタグの知識くらいは必要だと感じた―brタグの意味など―


明日は4章から読むことにする。