SW개발/Javascript
IE 에서 'class' 사용 불가
개소왕
2020. 4. 6. 12:01
* 개요
크롬에서 잘 작동하던 Internet Explorer 에서 class 문법을 '구문 오류' 로 인식.
class MyClass{}
;
* 원인
크롬에선 EC6 문법을 지원하지만, IE 에서는 지원하지 않음.
* 해결 1 - Babel 사용하여 코드 자체를 변환 또는 polyfill 추가 - 안해봄
https://perfectacle.github.io/2016/11/11/Babel-ES6-with-IE8/
# Polyfill : 특정 기능 지원 안 되는 브라우저를 위해 사용할 수 있는 코드 등
* 해결 2 - 코드 수정
class 대신 function 이용 EC5 문법 사용하여 재정의
- 변경 전
class Validator {
constructor() { this.msg = ''; }
notEmpty(attrName, value) { .... }
} //class
- 변경 후
function Validator() { this.msg = ''; }
Validator.prototype.notEmpty = function(attrName, value) { ... }