No.14 prototype
今日は原型を知るぞ!なぜ配列がobjectなのか!そろそろ終わる時間だ!👏
JavaScriptを表す場合、オブジェクトベースは正しく、オブジェクト向けではなくオブジェクトベースの理由を知りたい場合は、プロトタイプを理解する必要があります.JavaScriptプロトタイプの説明は次のとおりです.
デフォルトでは、プロトコルタイプはJavaScriptのすべての関数とオブジェクトに関連付けられたオブジェクトです.ここで、オブジェクトのプロトタイプ属性(属性とも呼ばれる)を表示せずに、関数のプロトタイプ属性にアクセスおよび変更できます.
https://www.tutorialsteacher.com/javascript/prototype-in-javascript
(元のプロトタイプ辞書定義は、元の形態または典型的な例、基礎または標準です.😁)
https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%85
mdnは以下のように記述される.
継承の観点からJavaScriptの唯一の作成者はオブジェクトです.各オブジェクトには[prototype]と呼ばれる隠し属性があり、そのプロトタイプとして別のオブジェクトを指します.このオブジェクトのプロトタイプにもプロトタイプがあり、nullをプロトタイプとするオブジェクトで終了するまで繰り返します.nullは、プロトコルタイプチェーンの終点として機能するより多くのプロトコルタイプがないと定義される.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
つまり,JavaやC++などクラス継承機能を持つオブジェクト向け言語とは異なり,JavaScriptは継承機能の原型を模倣しているだけである.
💡 JavaScriptにも授業がありますよね?
es 6に新しく導入されたclass構文はあるが,構文糖(=構文糖)のみであり,オブジェクト中心の新しい継承パターンは紹介されていない.
そこでまとめてみると、JavaScriptは原型に基づく言語であり、オブジェクト向けと呼ばれる言語は継承機能を模倣するだけであり、継承機能を下回ることはできないため、オブジェクト向けと見なす言語は少し曖昧である.
JavaScriptをプロトタイプベース言語と呼ぶ理由は次のとおりです.
すべてのオブジェクトが継承方法と属性としてプロトタイプオブジェクト(prototype object)を持つことを示すテンプレート.プロトタイプオブジェクトは、親オブジェクトからメソッドとプロパティを継承することもできます.親オブジェクトはメソッドとプロパティを継承することもできます.これをプロトタイプチェーン(prototype chain)と呼び、あるオブジェクトで別のオブジェクトで定義されたメソッドと属性を使用できるようにする基礎です.
https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/Object_prototypes
通常、arrayを作成するときに次のように作成されます.
arrayは、以下に示すように、他の方法で作成することもできます.
はい、配列を作成するときに[1,2,3]を使用しますが、新生ジェネレータを使用して配列を作成できます.「作成」を推奨するため、newジェネレータではなく「作成」を使用できることを知っている場合は、配列がオブジェクトである理由をさらに理解します.(したがって配列オブジェクトとも呼ばれる.)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Array
📝 new operator
新演算子は、カスタムオブジェクトタイプまたは組み込みオブジェクトタイプのインスタンスを生成します.
したがってarrayはfor in文も使用できます.オブジェクトなのでsortなどのarrayメソッドを使用できます.
勉强すればするほど英语を勉强する気になる.😭
prototype
JavaScriptを表す場合、オブジェクトベースは正しく、オブジェクト向けではなくオブジェクトベースの理由を知りたい場合は、プロトタイプを理解する必要があります.JavaScriptプロトタイプの説明は次のとおりです.
デフォルトでは、プロトコルタイプはJavaScriptのすべての関数とオブジェクトに関連付けられたオブジェクトです.ここで、オブジェクトのプロトタイプ属性(属性とも呼ばれる)を表示せずに、関数のプロトタイプ属性にアクセスおよび変更できます.
https://www.tutorialsteacher.com/javascript/prototype-in-javascript
(元のプロトタイプ辞書定義は、元の形態または典型的な例、基礎または標準です.😁)
https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%85
だからなぜ対象をベースにしているのですか?😡
mdnは以下のように記述される.
継承の観点からJavaScriptの唯一の作成者はオブジェクトです.各オブジェクトには[prototype]と呼ばれる隠し属性があり、そのプロトタイプとして別のオブジェクトを指します.このオブジェクトのプロトタイプにもプロトタイプがあり、nullをプロトタイプとするオブジェクトで終了するまで繰り返します.nullは、プロトコルタイプチェーンの終点として機能するより多くのプロトコルタイプがないと定義される.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
つまり,JavaやC++などクラス継承機能を持つオブジェクト向け言語とは異なり,JavaScriptは継承機能の原型を模倣しているだけである.
💡 JavaScriptにも授業がありますよね?
es 6に新しく導入されたclass構文はあるが,構文糖(=構文糖)のみであり,オブジェクト中心の新しい継承パターンは紹介されていない.
そこでまとめてみると、JavaScriptは原型に基づく言語であり、オブジェクト向けと呼ばれる言語は継承機能を模倣するだけであり、継承機能を下回ることはできないため、オブジェクト向けと見なす言語は少し曖昧である.
プロトタイプベースの言語?
JavaScriptをプロトタイプベース言語と呼ぶ理由は次のとおりです.
すべてのオブジェクトが継承方法と属性としてプロトタイプオブジェクト(prototype object)を持つことを示すテンプレート.プロトタイプオブジェクトは、親オブジェクトからメソッドとプロパティを継承することもできます.親オブジェクトはメソッドとプロパティを継承することもできます.これをプロトタイプチェーン(prototype chain)と呼び、あるオブジェクトで別のオブジェクトで定義されたメソッドと属性を使用できるようにする基礎です.
https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/Object_prototypes
だからarrayはなぜobjectなのか💦
通常、arrayを作成するときに次のように作成されます.
const array = [4,2,3,1];
//array에 sort함수를 쓸 때는 이런식으로 사용 할 것이다.
array.sort();
arrayは、以下に示すように、他の方法で作成することもできます.
//어딘지 낯익은 단어가 보인다 👀
const array = new Array(4,2,3,1);
array
はい、配列を作成するときに[1,2,3]を使用しますが、新生ジェネレータを使用して配列を作成できます.「作成」を推奨するため、newジェネレータではなく「作成」を使用できることを知っている場合は、配列がオブジェクトである理由をさらに理解します.(したがって配列オブジェクトとも呼ばれる.)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Array
📝 new operator
新演算子は、カスタムオブジェクトタイプまたは組み込みオブジェクトタイプのインスタンスを生成します.
したがってarrayはfor in文も使用できます.オブジェクトなのでsortなどのarrayメソッドを使用できます.
勉强すればするほど英语を勉强する気になる.😭
Reference
この問題について(No.14 prototype), 我々は、より多くの情報をここで見つけました https://velog.io/@jetom/No.13-prototypeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol