1. ホーム
  2. javascript

ネイティブコード]とは何ですか?

2023-09-12 04:08:54

質問

jQueryのコードを調べようと思い、こちらを利用させていただきました。

document.write($.constructor);

jsfiddle

こんな結果になりました。

function Function() { [native code] }

は何をするのか [native code] は何を意味するのでしょうか?なぜ本当のコードを見ることができないのですか?

でテストしたところ Google-Chrome

どのように解決するのですか?

インタープリタ型言語(コンパイル型言語とは対照的)で関数を定義する場合。関数を定義しているファイル/文字列/テキストにアクセスすることができます。

例えばJavaScriptでは、定義した関数の定義体テキストを読むことができます。

もし、同じことを が含まれている である関数に対して同じことをしようとすると、それはテキストとしてではなくバイナリとして実装されます。その関数を実装しているバイナリ コードは読めませんし、利用できないかもしれないので、表示する理由はありません。

jQueryはJavaScriptのデフォルトの動作を拡張しています。これは、たとえばPrototype.jsとは対照的に、非常に高く評価され賞賛された理由の1つです。Prototype は を変更する であり、通常の機能に依存する他のコードと一緒に Prototype を使用すると、矛盾が生じる可能性がありました。

tl;dr:

jQueryはJavaScriptを拡張しており、ネイティブコードで実装された機能があります(これはパフォーマンス的に良いことです)。