본문 바로가기

프로그래밍/Javascript

IE에서 [Syntax Error: ':'가 필요합니다] 발생하면 ES6를 사용한 것

반응형

오류

잘 되던 것이 IE에서 테스트를 하니 ':'가 필요합니다 오류 메시지가 뜬다. 사정상 Vue를 컴파일하지 않고 httpVueLoader로 불러 사용하고 있는데 코드 중 ES6가 있었기 때문이다. 정확하게는 다음 문제이다.

원인

ES6 문법 중 오브젝트의 프로퍼티로 함수를 지정할 때 다음과 같이 function 키워드를 명시하지 않고 ()축약해서 쓸 수 있다.

var methods = {
    someFunction() {
        // ...
    }
};

해결

IE에서는 당연히 안된다. 다음과 같이 고쳐야 한다.

var methods = {
    someFunction : function () {
        // ...
    }
};

IE 없는 세상에서 살고 싶다. 대한민국 인터넷 브라우저 중 IE 점유율이 이미 10% 밖에 되지 않고 보안적으로도 매우 취약하다. 고집스럽게 IE를 쓰는 이유가 대체 뭘까? 그냥 쓰던 거라서 쓴다고 대답한다면, 그걸 바로 고인물이라고 한다.

하지만 어쨌든 고객 요구사항은 맞춰야지.

반응형

개발자가 그리는 인스타툰 팔로우하세요!