[javascript] 현재 JavaScript의 ‘let’키워드를 지원하는 브라우저는 무엇입니까?

저는 앱을 개발 중이며 Internet Explorer에 대해 걱정할 필요가 없으며 Internet Explorer1에없는 A + 등급 브라우저에있는 일부 기능을 살펴보고있었습니다.

제가 사용하고 싶었던 기능 중 하나는 JavaScript의 let 키워드입니다.

Firefox 3.6 ( 사용자 에이전트 문자열 : Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv : 1.9.2) Gecko / 20100115 Firefox / 3.6 (.NET CLR 3.5.30729)). 나는 SyntaxError: missing ; before statement실행할 때 얻는다let foo = "bar" .

그렇다면 let 키워드를 지원하는 브라우저는 무엇입니까? (아니면 내가 뭘 잘못하고 있니?)



답변

편집 : letconst모든 현대적인 브라우저에서 지원과의 일부된다 ECMAScript를 2015 년 (ES6) 사양.

당신은 IE11 아래에 아무것도를 지원하기 위해 필요하지 않습니다 기본적으로 경우 letconst현재 사용하는 것이 안전합니다.

의 위에 IE11 있는 작은 특질있어 let함께 사용하면 for루프, 변수가 결합되지 않은 for사용자가 예상하는대로 블록이, 그것은으로 동작var 한 …

또한보십시오: letconst 지원.


2010의 구식 및 구식 답변 :
이러한 확장은 ECMA 표준이 아니며 Mozilla 구현에서만 지원됩니다.

브라우저 환경 에서 사용하려면 태그에 자바 스크립트 버전 번호 를 포함해야 script합니다.

<script type="application/javascript;version=1.7">
  var x = 5;
  var y = 0;

  let (x = x+10, y = 12) {
    alert(x+y + "\n");
  }

  alert((x + y) + "\n");
</script>


답변

2017 년 4 월 현재 :

  • Chrome, Firefox 및 Edge와 같은 모든 최신 주요 브라우저는 ES2015 (일명 “ES6”) let키워드를 지원합니다 .

  • iOS Safari는 letOS 10까지 지원하지 않았습니다 (예 : OS 9는 지원 하지 않음).

  • IE9-IE11과 같은 일부 구형 브라우저는 초기 버전을 지원 let하지만 ES2015에서 정의한 의미를 지원 하지 않습니다 (특히 for루프 헤더의 선언과 관련하여 ). 따라서 구문 오류가 아니며 변수를 선언하지만 예상대로 작동하지 않습니다. 예를 들어, 올바른 구현에서 다음 로그 0, 1 및 2; IE9-IE11에서는 3, 3, 3을 기록합니다.

  • IE8과 같은 구식 브라우저는 전혀 지원하지 않습니다.


답변

Internet Explorer 11에는 부분 지원 ( for범위가 잘못됨 )이 있으며 모든 현재 브라우저 ( ECMAScript 6 호환성 표 : let ) 에서 전체 지원이 있습니다.


답변

Internet Explorer 및 Operalet어떤 브라우저 버전도 지원하지 않습니다 . Firefox 버전 2.0 및 Safari 3.2 이후.

Wikipedia 에서이 JavaScript 버전 표 를 참조하십시오 .

방금 JavaScript 1.7을 사용하는지 여부를 정의해야한다는 것을 알게되었습니다 . 따라서 코드는 다음과 같습니다.

<script type="application/javascript;version=1.7"> ... </script>


답변

분명히 인터넷 익스플로러 10 에서 에지 모드 지원 let당, 자바 스크립트 버전 정보 .


답변

이 질문이 처음 질문 된 이후로 많은 시간이 지났습니다. ‘let’및 ‘const’키워드가 ECMAScript 2015 (ES6)에 도입되었습니다. 이 멋진 ES6 호환성 테이블에서 ‘let’또는 ‘const’를 검색하십시오 :
https://kangax.github.io/compat-table/es6/


답변

업데이트 let일뿐입니다 . Chrome은 이제 지원 하지만 "use strict"; 지령.