感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

【プログラミング 53時間目】JavaScriptの型について

スポンサーリンク

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

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


パーフェクトJavaScriptで勉強した。
型の仕組みなども非常に詳しく解説してくれている。

★★まとめ★★
・その文字が何番目にあるか返す
charAt(数字)

var name = new String("mizky");
name.charAt(2)
>"z"

・ある文字が何番目にあるか

var name = new String("mizky");
name.indexOf("z");
>3

・文字列オブジェクトは文字列値と同じく不変である。
つまり、文字列の内容を書き換えることはできない。

・破壊的なメソッドとは、状態を変更するメソッドのことでえある。


・数値に対するtypeof演算子の結果は"number"

var n = 3;
typeof n;
>"number"

JavaScriptは常に浮動小数点・
→0.1 + 0.2は0.3にならない!!

浮動小数点ではそもそも小数点以下を正確に表現できない。

・整数に限れば53ビットの範囲で正確に表現可能。

・数値クラス(Numberクラス)を文字列クラスに変換する

typeof(100).toString();
>"string"

・Number.NaNとは、Not a Numberの意味
NaNはNumberクラスのプロパティ

・Numberインスタンスから数値に型変換するプロパティ
→valueOf

・Numberインスタンスから文字列値に型変換する
→toString

・正の無限大を表す
Number.POSITIVE_INFINITY

・負の無限大を表す
Number.NEGATIVE_INFINITY

■NaNであることの判定の方法
・NaNは比較演算で常に偽になる。

NaNであることの判別は[isNaN]を使う
関数isNaNは引数の値がNaNあるいは数値に型変換してNaNになるときに真を返す

isNaN("hoge")
>true

isNaN(1)
>true

isNaN(NaN)
>true


■null型
・null値は「何も参照していない」状態。

「===」は型変換せずに比較する
「==」は型変換して比較する

var i;
i === null;
>false

i == null;
>true

typeof(i);
>"undefined"

typeof(null);
>"object"
var obj = {};
typeof obj;
>"object"

■文字列値から数値への型変換

parseInt()関数は第2引数に基数(radix)を指定できる。

parseInt('100');
>100
parseInt('ff',16);
>255

JavaScriptインタプリタ型言語なので、実行環境上でコードを動かせる。

関数宣言文の文法

fuction sun(a,b) {
	return Number(a) + Number(b);
}

■オブジェクト
・オブジェクトはオブジェクトリテラル式で生成できる。

・オブジェクトリテラル式の文法

{ プロパティ名:プロパティ値, プロパティ名:プロパティ値,・・・}

var obj = { x:3, y:4 }
typeof obj;
>"object"

・オブジェクトにアクセスする
オブジェクト参照に対するドット演算(.)でプロパティにアクセスできる。

obj.x;
>3

・オブジェクトのプロパティにメソッドを作る(関数を代入する)

obj.hoge = function (a,b) { return Number(a) * Number(b); };
obj.hoge(5,5);
>25

print(obj.hoge)
>function (a,b) {
	return Number(a) * Number(b);
}