javascript - 미리 정의된 클래스 변환 상속에 대한 Babel의 문제
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-19 10:30:16
0
1
550

ES6를 사용하여 Array를 상속하고 푸시 메서드를 재정의하는 클래스를 작성했습니다. 그러나 Babel을 사용하여 ES5로 변환한 후 호출된 메서드가 여전히 원래 푸시 메서드임을 확인했습니다.

.babelrc:

으아악

컴파일 전 ES6코드:

으아악

babel이 편집한 코드: ES5 으아악

실제로 ROUTE 클래스 인스턴스의 메소드가 실행되면 _createClass 메소드의 비즈니스 로직 코드는 전혀 호출되지 않고, 생성자에서 push 메소드를 오버라이드하지 않는 이상 Array의 push 메소드만 실행됩니다. .

바벨 버전:

으아악

曾经蜡笔没有小新
曾经蜡笔没有小新

모든 응답(1)
我想大声告诉你

부분 지원
내장 하위 클래스 가능성은 사례별로 평가해야 합니다. HTMLElement와 같은 클래스는 하위 클래스로 분류할 수 있지만 날짜, 배열, 오류와 같은 클래스는 하위 클래스로 분류할 수 없기 때문입니다. ES5 엔진의 한계.

브라우저 엔진 제한으로 인해 Babel은 Date, Array, Error...와 같은 일부 내장 클래스의 하위 클래스를 지원하지 않으므로 필요에 따라 필요한 유형을 정의할 수 있습니다

참고자료: https://babeljs.io/learn-es20...

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿