Please enable JavaScript.
Coggle requires JavaScript to display documents.
初めてのJavaScript第3版 (配列 (8.2 配列要素の操作 (8.2.1 先頭あるいは最後の要素に対する操作 (unshift…
初めてのJavaScript第3版
配列
8.1 配列の基本
自動的に拡大
値指定なし => undefined
参照では増えない
8.2 配列要素の操作
8.2.1 先頭あるいは最後の要素に対する操作
unshift
先頭に追加
shift
先頭を取り出す
8.2.2 複数要素の追加
concat
末尾に配列要素追加
非破壊的
8.2.3 部分配列
slice
非破壊的
引数
1 start index
2 end index + 1
8.2.4 途中の要素の削除や途中への要素の追加
splice
8.2.5 配列内の要素の削除や置換
copyWithin
8.2.6 配列を特定の値で埋める
fill
8.2.7 逆転とソート
reverse
sort
関数を指定できる
8.3 検索
indexOf
===で等しい最初の要素のindexを返す
lastIndexOf
===で等しい最後の要素のindexを返す
findIndex
条件を関数で指定できる
thisが何を指すか指定できる
条件に合う最初の要素のindexを返す
find
条件を関数で指定できる
thisが何を指すか指定できる
条件に合う最初の要素を返す
some
条件に合う要素があるか確認する
every
全ての要素が条件に合うか確認する
8.4 mapとfilter
map
要素を変換する
関数を指定できる
非破壊的
filter
条件に合わない要素を取り除く
関数を指定できる
非破壊的
8.5 reduce
配列全体を変換する
配列を何かに変換するときに良さそう
関数を指定できる
第1引数に渡されるのはaccumulator
= 配列が変換される先
引数
2 現在の配列の要素
3 現在の配列の添字
4 配列そのもの
引数
2 accumulatorの初期値
指定なし
=> 配列の最初の要素
8.6 配列関連のメソッドと削除された要素、
定義されていない要素
以下の要素に対して関数を呼び出さない
1 定義されていない(undefined)
2 削除された
map, filter, reduce
nullは呼び出される!
8.7 join
各要素をまとめて1つの文字列を作る
次の場合、空文字が設定される
削除された
null
undefined
スコープ
7.9 関数の巻き上げ
letではなくvarを使ったら、変数のように巻き上がるのか
巻き上がらない
7.10 TDZ(Temporal Dead Zone)
letで宣言された変数には使えない
typeof演算子
ES5では「変数が宣言されているか」を調べるために
typeof を使っていることが多い
letで宣言された変数は宣言されるまで存在しない
7.11 strictモード
暗黙的グローバルが禁止される
グローバルスコープで宣言すると問題になりやすい
全体のコードを関数でラップして使う
7.6 関数、クロージャ、静的スコープ
クロージャ
関数を使ってスコープを限定する
クロージャが使えないとどんな問題が起きる?
関数を使って「のぞき窓」を作る
下から上は見える
下: 関数
上: 上位スコープ