[JavaScript]Class
2365 ワード
Class
Class:ES 6に追加された仕様
コンストラクション関数を使用してオブジェクトを使用します.でもclassにすることもできます.
const User = function (name, age) {
this.name = name;
this.age = age;
/*this.showName = function () {
console.log(this.name);
};*/
}
User.prototype.showName = function () {
console.log(this.name);
}
const mike = new User("Mike", 30); // class를 사용하지 않고 만든 생성자 함수
コードclass User2 {
constructor(name, age) {
this.name = name;
this.age = age;
} // 객체를 초기화 하기 위한 값
showName() {
console.log(this.name);
} // User2 프로토타입에 저장이 됨
}
const tom = new User2("Tom", 19); // new 가 없을 경우 생성자 함수와 다르게 error!가 발생한다. , for in문 같은 경우 생성자 함수는 전부 나오는 반면 class는 함수에서 제한이 된다.
作成メソッドクラス:継承(extends)の使用
class Car {
constructor(color){
this.color = color;
this.wheels = 4;
}
drive() {
console.log("drive..");
}
stop(){
console.log("STOP!");
}
}
class Bmw extends Car {
park() {
console.log("PARk");
}
} // extends 를 이용하여 class 상속
const z4 = new Bmw("blue");
Class:メソッドオーバーライド
class Car {
constructor(color){
this.color = color;
this.wheels = 4;
}
drive() {
console.log("drive..");
}
stop(){
console.log("STOP!");
}
}
class Bmw extends Car {
park() {
console.log("PARk");
}
stop(){
super.stop(); // super 사용 (오버라이딩)
console.log("OFF"); // 출력하게 된다면 덮어쓰게 된다. (OFF로 출력)
}
}
const z4 = new Bmw("blue");
コンストラクタオーバーライド
class Car {
constructor(color){
this.color = color;
this.wheels = 4;
}
drive() {
console.log("drive..");
}
stop(){
console.log("STOP!");
}
}
class Bmw extends Car {
constructor(color) {
super(color); // 부모 constructor 쓰기 위해 사용! , 값을 넣어줘야지 color 값 출력
this.navigation = 1;
}
park() {
console.log("PARk");
}
}
const z4 = new Bmw("blue");
Reference
この問題について([JavaScript]Class), 我々は、より多くの情報をここで見つけました https://velog.io/@tmdckzm/자바스크립트-Classテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol