回答編集履歴

1

補足を追記

2016/11/06 04:54

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -1 +1,77 @@
1
1
  仕様書には"native function"なる言葉がないですので、誰かが作った造語だと思われます。たぶん、[built-in function](http://www.ecma-international.org/ecma-262/5.1/#sec-4.3.25)(組み込み関数)のことを指して言いたかったのではないでしょうか?
2
+
3
+
4
+
5
+ ---
6
+
7
+ 【補足】
8
+
9
+
10
+
11
+ 最新であるES**7**の仕様書を改めて確認してみました。(ES5以下とは一部使っている用語が異なるので注意)
12
+
13
+
14
+
15
+ 以下、[ECMAScript® 2016 Language Specification#4.3Terms and Definitions](http://www.ecma-international.org/ecma-262/7.0/#sec-terms-and-definitions)に記載の用語と定義について私訳です。
16
+
17
+
18
+
19
+ > 4.3.6 ordinary object 一般オブジェクト
20
+
21
+ > 全てのオブジェクトがサポートしなければならない基本的な内部メソッドについて、通常の振る舞いを行うオブジェクト
22
+
23
+ >
24
+
25
+ > 4.3.7 exotic object 異質オブジェクト
26
+
27
+ > 基本的な内部メソッドのいくつかについて、通常の振る舞いを行わないオブジェクト
28
+
29
+ >> 備考: 一般オブジェクトではないあらゆるオブジェクトは異質オブジェクトである。
30
+
31
+ >
32
+
33
+ > 4.3.8 standard object 標準オブジェクト
34
+
35
+ > この仕様書で定義された意味となるオブジェクト
36
+
37
+ >
38
+
39
+ > 4.3.9 built-in object 組込オブジェクト
40
+
41
+ > ECMAScript実装により規定および定義されるオブジェクト
42
+
43
+ >> 備考: 標準組込オブジェクトはこの仕様書で定義される。ECMAScript実装は追加で組込オブジェクトを規定および提供する事ができる。__組込コンストラクタ__はコンストラクタでもある組込オブジェクトである。
44
+
45
+ >
46
+
47
+ > 4.3.29 built-in function 組込関数
48
+
49
+ > 関数である組込オブジェクト
50
+
51
+ >> 備考: 組込関数の例として`parseInt`と`Math.exp`が上げられる。ある実装は、この仕様書では定義されていない実装依存の組込関数を提供することができる。
52
+
53
+
54
+
55
+ **一般オブジェクト**と**異質オブジェクト**は対立する関係にあります。その枠組みとは別で、**標準オブジェクト**と**組込オブジェクト**が存在します。ECMAScript仕様書で定義されているのは**標準組込オブジェクト**(標準オブジェクト∩組込オブジェクト)になり、それ以外にECMAScript実装は**__非標準組込オブジェクト__**(¬標準オブジェクト∩組込オブジェクト)を持つこともできるとされています。
56
+
57
+
58
+
59
+ 組込コンストラクタ、組込関数と言った用語はコンストラクタ、関数でもある組込オブジェクトとなっていますので、組込コンストラクタ⊂組込オブジェクト、組込関数⊂組込オブジェクト、という関係のようです。
60
+
61
+
62
+
63
+ このことから、次のような関係になるかと思います。
64
+
65
+
66
+
67
+ * Array.isArray()は標準組込関数
68
+
69
+ * jQuery.isArray()は**非**標準**非**組込関数
70
+
71
+ * document.getElementById()は**非**標準組込関数
72
+
73
+ * jQuery()は**非**標準**非**組込関数
74
+
75
+
76
+
77
+ なお、異質オブジェクトの例にはArrayオブジェクトがあります。