オブジェクト向けJavaScript
19428 ワード
하나의 모델이 되는 청사진 : class,
그 청사진을 바탕으로 한 객체를 만드는 : instance(객체)
class
function Car(color) { ... }
instance
let avante = new Car("blue");
let mini = new Car("cyan");
let beetles = new Car("red");
ES 5クラスは、関数として定義することができる。
function Car(brand, name, color){
// instance가 만들어질 때 싫행되는 코드
}
ES 6はclassというキーワードを用いて定義することもできる。
class Car(){
constructor(brand, name, color){
// instance가 만들어질 때 실행되는 코드
}
}
どちらの方法も知らなければならない.クラスのインスタンスはnewキーワードで作成できます。
let avante = new Car("hyundai", "avante", "black");
let mini = new Car("bmw", "mini", "white");
let beetles = new Car("volkswagen", "beetles", "red");
// avante, mini, beetles 각각의 instance는 Car라는 class의 고유한 속성과,
// 메소드를 갖습니다.
検索
// 이 코드는 Class 이다.
function Car(brand, model, color){
// instance가 만들어질 때 실행되는 코드
}
// 이 녀석은 instance 이다.
let avante = new Car("hyundai", "avante", "black");
ここで重要なのは、オブジェクト向けの物語です.属性とメソッド
クラスのプロパティとメソッドを定義し、インスタンスで使用します.
に示すように、オブジェクト向けプログラミングは、現実世界に基づいてプログラミングモデルを作成する際に非常に有用である.
すなわち、オブジェクト向けJavaScriptを使用する理由は、現実世界のモデルをコードに変換したい場合によく使用されるためです.
(現実世界のコンテンツをプログラミングモデルにインポートする場合)
クラスクラス:属性の定義ぞくせいのていぎ
ES5
function Car(brand, name, color){
this.brand = brand;
this.name = name;
this.color = color;
}
ES6class Car(){
constructor(brand, name, color){
this.brand = brand;
this.name = name;
this.color = color;
}
}
クラスクラス:メソッドの定義
ES5
function Car(brand, name, color){ /* 생략 */ }
Car.prototpe.refuel = function(){
// 연료 공급을 구현하는 코드
}
Car.prototype.drive = function(){
// 운전을 구현하는 코드
}
ES6class Car(){
constructor(brand, name, color){ /* 생략 */ }
refuel(){
// 연료 공급을 구현하는 코드
}
drive(){
// 운전을 구현하는 코드
}
}
インスタンスでの使用
let avante = new Car("hyundai", "avante", "black");
avante.color; // black
avante.drive(); // 아반떼가 운전을 시작합니다.
let mini = new Car("bmw", "mini", "white");
mini.brand; // bmw
mini.refuel(); // mini에 연료를 공급합니다.
次のコードを要約します.
// constructor(생성자)함수
function Car(brand, name, color){ // Car === class
// this 객체: 이 예제에서는 avante === this
this.brand = brand;
this.name = name;
this.color = color;
}
// prototype 객체: 여기에 속성이나 메소드를 정의할 수 있다.
Car.prototype.drive = function(){
consolo.log(this.name + "가 운전을 시작합니다.");
}
// avante === instance
let avante = new Car("hyundai", "avante", "black");
avante.color; // "black"
avante.drive(); // "avante가 운전을 시작합니다"
実戦例-配列/類似の部分があります.let avante = new Car("hyundai", "avante", "black");
avante.color; // "black"
avante.drive(); // "avante가 운전을 시작합니다"
// arr의 class === Array
// arr === instance
let arr = ["code", "states", "pre"];
arr.length; // 3
arr.push("course"); // 새 element를 추가합니다.
let arr = ["code", "states", "pre"];
// 위의 코드나 아래 코드나 똑같다.
let arr = new Array("code", "states", "pre");
// 우리가 배열을 정의하는 것은 Array의 instance를 만들어내는 것과 동일합니다.
Reference
この問題について(オブジェクト向けJavaScript), 我々は、より多くの情報をここで見つけました https://velog.io/@sksgur3217/객체지향-JavaScriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol