teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

「またそもそもなぜそのような区分が存在するのでしょうか?」に対しても回答

2018/07/11 07:44

投稿

maisumakun
maisumakun

スコア146653

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/)など「非破壊的な動作だけで統一した配列」も利用可能となっています。