回答編集履歴
1
「またそもそもなぜそのような区分が存在するのでしょうか?」に対しても回答
answer
CHANGED
@@ -9,4 +9,12 @@
|
|
9
9
|
以下は、考えるまでもありません。
|
10
10
|
|
11
11
|
* 意味合いから明らかに破壊的なもの…`push`、`pop`、`shift`、`unshift`、`fill`、`copyWithin`
|
12
|
-
* そもそももとの配列を変更する要素がないもの(非破壊的)…`forEach`、`map`、`join`、`indexOf`など多数
|
12
|
+
* そもそももとの配列を変更する要素がないもの(非破壊的)…`forEach`、`map`、`join`、`indexOf`など多数
|
13
|
+
|
14
|
+
----
|
15
|
+
|
16
|
+
> またそもそもなぜそのような区分が存在するのでしょうか?
|
17
|
+
|
18
|
+
非破壊的なメソッドだけで素直に実装すると、効率が悪くなる…と考えられていたためです。
|
19
|
+
|
20
|
+
ただ、あらゆる変数が非破壊的な関数型言語などでの実装を踏まえて、JavaScriptでも[Immutable.js](https://facebook.github.io/immutable-js/)など「非破壊的な動作だけで統一した配列」も利用可能となっています。
|