「パーフェクトJavaScript」メモ 1章,2章

「パーフェクトJavaScript」を読みながらメモ。中途半端なjs知識を確かなものにし、用語を整理してjsについて口頭でコミュニケーションができるようになるのが目標。

 

パーフェクトJavaScript (PERFECT SERIES 4)

パーフェクトJavaScript (PERFECT SERIES 4)

 

 

以下のメモだけ読んでも意味がない。書き方は随時工夫する。

-webブラウザごとの処理系があるのかー。Chromeならv8といったような

-レンダリングエンジンの違いは何の違いで生まれるのか。ブラウザじゃないのかな

--ブラウザとバージョン、あとデバイスみたいですね

-var で宣言しただけだとundefine値が入ってる。こいつについては後述らしい。

-動的型言語とはなにか、についても後述

-var による宣言なしで変数に値を代入できるが、最低だそうです。そいつは関数内で使ってもグローバル変数になってしまい周りに迷惑をかけるので最低だそうです

-const は後で値を変更できない、すなわち定数だけどエクマスクリプト準拠でない独自拡張だそうです。使うかどうかはあなた次第。

 

-関数という言葉。

-jsでは関数もオブジェクトである。関数でないオブジェクトもある。

-変数名と関数名は結局同じものである

-オブジェクトとは

--メモリ上の実体である

--状態を持つ

--プログラミングの操作対象となる

--jsでは、オブジェクトは名前と値のペアを指す。

---つまり、プロパティの集合とも言える(プロパティとは。)

 

-オブジェクトリテラル

--{プロパティ名:プロパティ値,プロパティ名:プロパティ値, ……}

-配列ですか。

-プロパティ名には識別子、文字列値、数値のどれかが必ずはいる。(識別子とは。)

-中括弧の直前のカンマは、エラーにならないが避けたほうがよい。

-エラーにならないからよくそのままになってるソースを見るのか。

-ドットで書いてたのは↓

オブジェクト名.プロパティ名

-プロパティ値にはオブジェクトを置くこともできるので、ドットは複数続いたりする

-ドットとブラケット[]演算子は同じことをしたいときに使える。すなわち、「場所」を指し示すのに使える。

-javascriptには言語仕様としてはクラスもメソッドもない。比喩として便宜上、それっぽい働きをするものをそう呼ぶことはある。というか、多い。多そう。

-コンストラクタという語の意味をよくわかってない

-(メモの問題点として、学んだことメモとつぶやきが一緒くたになっている)

-JAVAだとコレにあたる、という説明が多く出てくるが、JAVAはそのうちやりますので

-クラス機能の比喩、ちんぷんかんぷん。

 

-「配列はArrayクラスのインスタンスとして存在します」この一文を解読できない。

-プロパティ名のない(勝手に0,1,2...と振られる)オブジェクトを配列と呼んでるのかな〜と思っていました。オブジェクトとは別物みたいですね

-配列の要素には文字列や数値やオブジェクトや配列がなれる。

 

とりあえず2章まで終わってきりがいいので今日はここまで。