質問編集履歴
1
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# 拡張とフツーの関数
|
2
2
|
これまではフツーの関数でしか処理を宣言したことがありませんでしたが、`Array.prototype.●● = 処理` という記述によって、Arrayオブジェクトに●●という処理を根本的に登録する、いわゆる拡張なる機能があるらしいと知りました。
|
3
3
|
|
4
|
-
でもそれじゃ一体、いつ拡張すべきで、いつフツーの関数
|
4
|
+
でもそれじゃ一体、いつ拡張を登録すべきで、いつフツーの関数を宣言すべきなのでしょうか?
|
5
5
|
|
6
6
|
# 考えた例
|
7
7
|
例えば以下の例 (`insertAndTrim`という拡張と `insertAndTrimArray`というフツーの関数) を考えてみたのですが、どちらがいつ便利なのかよく分かりません。
|
@@ -71,6 +71,6 @@
|
|
71
71
|
# 補足
|
72
72
|
・ES2015(ES6) の利用です。
|
73
73
|
・拡張も関数の一種なのかもしれませんが区別する正しい呼称を知らないので、当質問では「フツーの関数を宣言する」と「拡張を登録する」とさせて頂きました。
|
74
|
-
・どうやら [Object は拡張すべきでないらしい](https://gihyo.jp/dev/serial/01/crossbrowser-javascript/0004#:~:text=Object.prototype%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81%E6%8B%A1%E5%BC%B5%E3%81%99%E3%82%8B%E3%81%A8%E5%BD%B1%E9%9F%BF%E7%AF%84%E5%9B%B2%E3%81%8C%E9%9D%9E%E5%B8%B8%E3%81%AB%E5%A4%A7%E3%81%8D%E3%81%84%E3%81%9F%E3%82%81%E7%A6%81%E6%AD%A2) のですが、上記のような Array や Storage についてはいつ拡張すべきか知りたいです。
|
74
|
+
・どうやら [Object は拡張すべきでないらしい](https://gihyo.jp/dev/serial/01/crossbrowser-javascript/0004#:~:text=Object.prototype%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81%E6%8B%A1%E5%BC%B5%E3%81%99%E3%82%8B%E3%81%A8%E5%BD%B1%E9%9F%BF%E7%AF%84%E5%9B%B2%E3%81%8C%E9%9D%9E%E5%B8%B8%E3%81%AB%E5%A4%A7%E3%81%8D%E3%81%84%E3%81%9F%E3%82%81%E7%A6%81%E6%AD%A2) のですが、それ以外 (上記のような Array や Storage や String などなど) についてはいつ拡張での登録を利用すべきなのか知りたいです。
|
75
75
|
|
76
76
|
よろしくお願い致します。
|