回答編集履歴
1
「またそもそもなぜそのような区分が存在するのでしょうか?」に対しても回答
test
CHANGED
@@ -21,3 +21,19 @@
|
|
21
21
|
* 意味合いから明らかに破壊的なもの…`push`、`pop`、`shift`、`unshift`、`fill`、`copyWithin`
|
22
22
|
|
23
23
|
* そもそももとの配列を変更する要素がないもの(非破壊的)…`forEach`、`map`、`join`、`indexOf`など多数
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
----
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
> またそもそもなぜそのような区分が存在するのでしょうか?
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
非破壊的なメソッドだけで素直に実装すると、効率が悪くなる…と考えられていたためです。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
ただ、あらゆる変数が非破壊的な関数型言語などでの実装を踏まえて、JavaScriptでも[Immutable.js](https://facebook.github.io/immutable-js/)など「非破壊的な動作だけで統一した配列」も利用可能となっています。
|