/ const를 1하자

A는 송출 된 (루프 카운터) - 변수는 유효한 경우에만 그것을 차단 선언  

  1 for사이클은, 특별한을 가지고 배치되고 상위 범위 인 루프 변수 부분루프의 본문이 분리 부 범위이다 .

  2, 존재하지 않는 변수를 강화하는 것은 <==>   var명령은 "변수 리프트 '현상이 일어날 것

  3, 임시 데드 존은 한 블록 수준 범위가있는 한 let명령, 변수는 외부의 영향에는 것 "바인딩"이 지역에서 (바인딩), 더 이상 대상 선언했다.

  4, 성명을 반복 할 수 없습니다

  5 블록 레벨 범위 {} 

VAR A = []
 에 대해 (송출 I는 = 0 ; I < 10 ; I ++ ) { 
  A [I] = 함수 () { 
    CONSOLE.LOG (I)를 
  } 
} 
A [ 6. ()]; // . 6 

의심 변수 나는 다시 문마다 한 사이클은 이전 사이클의 값이 사이클의 현재 라운드의 값을 계산하는 방법을 알고, 경우? 때문이다 스크립트 엔진 내부 이전주기의 값을 기억하고 , 변수의 초기화 나 현재 라운드는,이 라운드 로빈에 기초하여 계산된다.

둘째, 블록 레벨 범위 {} 

  1, ES5는 단지 최상위 범위 및 함수 선언 범위에서 기능을 소정의 범위는 블록 레벨에서 선언되지 않는다.

  2, ES6 블록 레벨 범위의 도입이 명시 적으로 블록 레벨 범위에서, 함수 블록 레벨 범위에서 허용 선언 동작은 함수 선언문과 유사 let블록 레벨의 범위를 벗어난 참조 할 수 없습니다.

// 브라우저 환경 ES6의 
기능 F () {을 console.log ( ' 는 I AM의 외부! ' );} 

(기능 () { 
  IF ( false로 ) {
     // 재 선언 선형 함수 F의 
    함수 F () {을 console.log ( ' 는 I AM의 내부! ' );} 
  } 

  F (); 
} ()); 
// catch되지 않은 형식 오류가 : F 기능하지 

, 그것의 자신의 위에 ES6에 대한 부록 B에 내부 일정을, 브라우저는 준수를 달성 할 수 없습니다 행동. 
1 의 작용 블록 레벨 도메인 함수 선언 할 수있다.
2 , 즉 VAR 유사한 함수 선언은 전역 또는 함수 영역의 선두로 상승한다 .
(3)은 , 동시에, 함수 선언 위치한 블록 레벨 범위를 향하는 것을 촉진시킬 것이다. 

같은 실제 실행 코드는 다음과 같습니다 : 
// ES6 브라우저 환경을
함수 f () {을 console.log ( ' I 외부이다! ' ); } 
(함수 () { 
  var에 F = 정의되지
   경우 ( 거짓 ) { 
    함수 f () {CONSOLE.LOG ( ' I 내부이야! ' );} 
  } 

  F () 
} ()); 
// 처리되지 않는 오류 : F 함수 아니다

세, CONST

  1. const읽기 전용 상수를 선언합니다. 명령문의 값이되면, 상수가되어야합니다, 그래서 한 번 선언, 변경할 수 없습니다 즉시 초기화 .

  2 변수를 향상시키는 것은 존재하지 않는다

  3 블록 레벨 범위

  4, 일시적 데드 존

  5, 반복 할 수없는 문

  *** const사실 보장에서 변수의 값이 아닌이 변경되지 수 있지만 하지 않을 수 있습니다 ALTER 저장된 데이터의 가변 점의 메모리 주소 ,

  단순 데이터 형식 (수치, 문자열, 불리언)의 경우, 그 값은 변수가 가리키는 메모리 주소에 저장되고, 따라서 일정한 동일.

  그러나, 복합 형 데이터 (주로 목적 및 어레이), 변수 메모리 주소는 실제 데이터에 포인터 만 저장하도록 지시 const만 포인터가 보장된다 (즉, 다른 고정 된 주소 지점은 항상) 고정

  이 데이터 구조를 가리키는 바와 같이 가변 아니라, 완전히 제어 할 수있다. 따라서, 객체는 상수가 매우 조심해야로서 선언

const를 foo는 = {}; 

// foo는에 성공적으로 속성을 추가 
foo.prop = 123 ; 
foo.prop // 123 

// 오류가 될 것입니다 다른 객체 포인트 foo는 
foo는 = {}; // 형식 오류 " foo는이 "읽기 전용이다

  당신이 정말로 개체를 고정 할 경우 사용해야 하는 방법을 Object.freeze 

 

CONST foo는 = Object.freeze ({}) 

// 정상 모드의 시간은, 다음 행에는 영향을주지 않는다;
 // 엄격 모드를 상기 라인에 대하여 설명한다 
foo.prop = 123 ;

 

네, 육가지 선언적

  1이었다

  2 함수

  3,하자

  4 CONST

  5, 수입

  6, 클래스

다섯 상위 객체의 속성

  1, 브라우저 - 창

  2, 노드 - 글로벌

 

 

 

추천

출처www.cnblogs.com/slightFly/p/11867307.html