[%]
자스 ECMAScript 6 전에는 레전드였네 ㅋㅋ
익명(104.140)
2020-08-17 00:30
추천 0
다른 언어 배우다 웹 관심 생겨서 자스 배우는데
ECMAScript 5랑 ECMAScript 6이랑 별 차이 없는 줄 알고 버전 5로 읽고 있었거든
책 읽는 도중에 알아챘는데 내가 전에 찍먹으로 배운 기억이랑은 전혀 다른 거임
그래서 찾아봤는데 레전드임ㅋㅋ
이게 일단 우리가 알고 있는 친근한 자스
class Base {
constructor(val0, val1) {
this.val0
= val0
;
this.val1
= val1
;
}
method0( ) {}
method1( ) {}
}
class Derived extends Base {
constructor(val0, val2, val2) {
super(val0
, val1
);
this.val2
= val2
;
}
}
let d
= new Derived(1, 2, 3);
d
.method0();
이게 ECMAScript 5에서 클래스 선언 할 때
function Base(val0, val1) {
this.val0
= val0
;
this.val1
= val1
;
}
Base.prototype
= {
method0: function() {}
method1: function() {}
};
function Derived(val0, val1, val2) {
Base.call(this, val0
, val1
);
this.val2
= val2
;
}
let d
= new Derived(1, 2, 3);
d
.method0();
function 선언으로 클래스 구현하는 거 보고 부랄을 탁 쳤다.
저게 버전 6에서 추상화로 어느 정도 해결돼서 많이 쓰이는 면도 있지 않을까?
Class가 prototype의 sugar라는 거 누구나 아는 얘기 아님?
좆병신 회사가면 지금도 바벨 좆까고 IE 호환성 떄문에 5 씀
내가 알고 있는 친근한 자스는 후자인데
전자가 친근하려면 상당히 영한 개발자인가보네여
후자는 소똥냄새나는 시골 내려간 느낌
여기 연령대 뭔데
틀... 딱.... 딱...
정보) 문법만 class지 내부구조는 후자라서 후자도 알고 있는게 바람직
근데 의도대로 동작하려면 Derived.prototype = Object.create(Base.prototype); 해줘야