[JavaScript]Class


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");