ES6 입문 강좌 의 let 와 const 명령 상세 설명

머리말
javascript 에서 우 리 는 모두 var 를 사용 하여 변 수 를 설명 하 는 것 을 알 고 있 습 니 다.javascript 은 함수 급 역할 영역 으로 함수 내 에서 함수 밖의 변 수 를 방문 할 수 있 으 며 함수 외 에 함수 내의 변 수 를 방문 할 수 없습니다.
함수 급 역할 영역 은 일부 문 제 를 일 으 킬 수 있 습 니 다.바로 일부 코드 블록 안의 변 수 는 전체 범위 에서 유효 합 니 다.이것 은 우리 가 매우 잘 알 고 있 습 니 다.

for (var i = 0; i < 10; i++) {
 console.log(i); // 0,1,2...,9
}
console.log(i); //10

if(true){
 var s = 20;
}
console.log(s); //20
es6 에 let(변수)와 const(상수)를 추가 하여 변 수 를 설명 합 니 다.블록 급 역할 도 메 인 을 사용 합 니 다.변 수 는 코드 블록 에서 만 유효 합 니 다.다음은 상세 한 소 개 를 보 겠 습 니 다.
let 명령
ES6 는 변 수 를 설명 하기 위해 let 명령 을 추 가 했 습 니 다.그것 의 용 도 는 var 와 매우 비슷 하지만 let 가 설명 한 변 수 는 let 명령 이 있 는 코드 블록 에서 만 유효 합 니 다.
다음 코드 를 보 세 요:

 {
  let a = 10;
  var b = 9;
 }
 alert( a ); // ReferenceError: a is not defined
 alert( b ); //9
다음 코드 를 보십시오.

var a = [];
 for(var i = 0; i < 10; i++) {
  var c = i;
  a[i] = function() {
   console.log( c );
  };
 }
 a[6](); //9
let 성명 을 사용 하면 마지막 출력 값 은'6'입 니 다.코드 는 다음 과 같 습 니 다:

var a = [];
for (var i = 0; i < 10; i++) {
  let c = i;
  a[i] = function() {
   console.log( c );
  };
}
a[6](); //6
또한 let 성명 의 변 수 는 향상 되 지 않 습 니 다.아래 코드 세 션 을 보 세 요.

 function do_someting() {
  console.log( a ); //ReferenceError
  let a = 2;
 }
마지막 으로 let 는 같은 역할 영역 에서 같은 변 수 를 반복 적 으로 설명 하 는 것 을 허용 하지 않 습 니 다.

 //   
 {
  let a = 10;
  var a = 1;
 }

 //   
 {
  let a = 10;
  let a = 1;
 }
let 는 실제로 자바 스 크 립 트 가 증가 하 는 블록 급 역할 영역 입 니 다.

 function foo() {
  let n = 6; 
  if (true) {
   let n = 10;
  }
  console.log( n ); //6
 }
위의 코드 는 두 개의 코드 블록 이 있 는데 모두 n 변 수 를 설명 하고 실행 후 출력 한 것 은 6 입 니 다.이것 은 외부 코드 블록 이 내부 코드 블록 의 영향 을 받 지 않 음 을 나타 낸다.var 정의 변수 n 을 사용 하 는 것 으로 바 꾸 면 마지막 으로 출력 하 는 것 은 10 입 니 다.
또 ES6 는 함수 자체 의 역할 영역 이 있 는 코드 블록 역할 영역 안에 있다 고 규정 했다.

 function f() { console.log("I am outside"); }
 (function () {
  if (false) {
   //        f
   function f() {
    console.log("I am inside");
   }
  }

  f();
 }());
위의 코드 세 션 은 ES5 에서 실행 하면'Iam inside'를 받 지만 ES6 에서 실행 하면'Iam outside'를 받 습 니 다.
const 명령
const 는 상수 를 설명 하 는 데 쓰 인 다.일단 성명 하면 그 가 치 는 바 꿀 수 없다.

 const PI = 3.1415;
 console.log( PI ); //PI

 PI = 3;
 console.log( PI ); //3.1415

 const PI = 3.1;
 console.log( PI ); //3.1415
한 가지 주의해 야 할 것 은 상수 에 대한 중복 정 의 는 틀 리 지 않 고 묵묵히 실패 할 뿐이다.
const 의 역할 영역 은 let 명령 과 같 습 니 다.즉,성명 이 있 는 블록 급 역할 영역 에서 만 유효 합 니 다.

 if(condition) {
  const MAX = 5;
 }

 //   MAX      (      )
이 밖 에 const 상수 도 중복 성명 할 수 없다.

 var message = "Hello!";
 let age = 25;

 //        
 const message = "Goodbye!";
 const age = 30;
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기