ES6 의 소개 와 let 의 사용|-ES6 연재 1

5055 단어 JavaScript
ECMAScript 가 뭐 예요?
많은 사람들 이 3~5 년 전 엔 지 니 어 를 일 해도 곤 혹 스 러 웠 다.ECMAScript 는 무엇 일 까?그것 은 자 바스 크 립 트 와 무슨 관계 가 있 습 니까?
  :JavaScript 3    ,   :ECMAScript,BOM (?)。

제목 에서 알 수 있 듯 이 ECMAScript 는 JavaScript 의 구성 부분 이다.
ECMAScript 는 JavaScript 의 문법 규범 입 니 다!ECMAScript 는 국제 표준 화 된 언어 로 모든 브 라 우 저 개발 업 체 가 정 한 표준 에 따라 브 라 우 저 를 개발 해 야 한다.개발 자 도 마찬가지 로 규정 에 따라 코드 를 프로 그래 밍 합 니 다.
ECMAScript 의 역할
문법 – 해석 규칙,키워드,문구,성명,조작 등유형 – 불 형,숫자,문자열,대상 등원형 과 계승
내 장 된 대상 과 함수 의 표준 라 이브 러 리 – JSON,숫자(Math),배열 방법,대상 내성 방법 등..
ECMAScript 를 알 고 나 면 ES6 가 무엇 일 까요?
ES6 ECMAScript 6     ,     。    ,  ECMAScript  6   ,           ,         。

ECMAScript 의 역사
1996 년 11 월 넷 스 케 이 프 는 자 바스 크 립 트 를 국제 표준화 기구 ECMA 에 제출 하기 로 했다.이듬해 ECMA 는 ECMAScript 를 발표 했다.이 버 전이 바로 ECMAScript 1.0 버 전이 다
1998 년 6 월 에 ECMAScript 2.0 버 전이 발표 되 었 습 니 다
1999 년 12 월 에 ECMAScript 3.0 버 전이 발표 되 어 자 바스 크 립 트 의 통행 기준 이 되 어 광범 위 한 지 지 를 받 았 다
  • 2007 년 10 월 에 ECMAScript 4.0 버 전 초안 이 발표 되 었 고 3.0 버 전에 대해 대폭 업그레이드 되 었 다.그러나 Yahoo,Microsoft,Google 을 비롯 한 대기업 들 은 JavaScript 의 대폭 업그레이드 에 반대 하고 소폭 의 변경 을 주장 했다.각 측의 의견 차이 가 너무 크 고 논쟁 이 너무 급진 적 이 었 다.ECMA 는 회의 에서 ECMAScript 4.0 의 개발 을 중단 하기 로 결정 했다
  • 2009 년 12 월 에 ECMAScript 5.0 판이 정식으로 발표 되 었 다
    2015 년 6 월 에 ECMAScript 6 가 정식으로 통과 되 어 국제 표준 이 되 었 다
    ES6 가 왜 인기 가 많아 요?
    4.567917.그렇습니다.많은 개발 자 들 에 게 ES6 가 가 져 온 새로운 기능 은 범위 가 넓 고 편리 한 기능 도 많 습 니 다.(예 를 들 어 화살표 의 기능 과 간단 한 문자열 삽입 값,모 르 겠 습 니 다.괜 찮 습 니 다.나중에 계속 소개 합 니 다)정말 흥 분 됩 니 다
  • 상기 ECMAScritpt 의 소 개 를 종합 하면 우 리 는 자바 스 크 립 트 를 잘 배 우려 면 먼저 ECMAScritpt 을 잘 배 워 야 하고 최신 버 전인 ECMAScritpt 6 를 배 워 야 한 다 는 것 을 깨 달 았 다

  • let 의 용도
  • ES6 는 개발 자 에 게 설 레 는 특성 을 많이 가 져 다 주 었 는데 그 중에서 let 키 워드 는 바로 그 중의 하나 입 니 다

  • 4.567917.우 리 는 평소에 코드 를 쓸 때 var 로 변 수 를 설명 합 니 다.그 밖 에 다른 키 워드 를 사용 하지 않 은 것 같 습 니 다.문자열 형식,배열 유형,디지털 형식 등 을 설명 하 든 하나의 var 로 점 을 만 드 는 것 이 편리 합 니 다.그러나 지금 ES6 는 var 를 제외 하고 let 로 변 수 를 설명 해 보 는 것 도 좋 습 니 다
    4.567917.어,이렇게 말 하면 let 키 워드 는 성명 변 수 를 사 용 했 습 니까?예,let 의 용 도 는 변 수 를 설명 하 는 데 사 용 됩 니 다
    4.567917.멀쩡 하 게 var 로 성명 하면 되 는데 왜 새로운 let 키워드 로 성명 합 니까?혹시 var 로 부족 한 점 이 있 나 요?네,정말 있어 요
    var 의 부족 한 점 1
  • 다음 코드
  • var arr = [ ];
    for(var i=0;  i<10;  i++){
        arr [i] = function(){
             alert(i)
        }
    }
    arr [8](); //  :10

    4
  • let 로 var 를 교체 한 후에 우 리 는 다시 보 자
  • var arr = [ ];
    for(let i=0;  i<10;  i++){
      arr[i] = function(){
        alert(i)
      }
    }
    arr[8](); //  :8

    4.567917.let 성명 의 변 수 는 자신의 블록 급 역할 영역 에서 만 작용 하기 때문에 이 블록 급 역할 영역 이 나 오 면 역할 을 하지 않 습 니 다.예 를 들 어 샤 오 밍 이 국내 에서 시험 을 본'고급 프로그래머'증 이 외국 에 가서 지원 하면 다른 사람들 이 너의 졸업장 을 인정 하지 않 고 샤 오 밍 은 국내 에서 자격증 을 가지 고 일 할 수 밖 에 없다.let 성명 의 변수 도 마찬가지 로 자신의 블록 급 역할 영역 을 낼 수 없습니다
    그렇다면 블록 급 작용 역 이 무엇 인지,어떻게 블록 급 작용 역 이 라 고 할 수 있 습 니까?
           (   :{ })          ,       let                  ,          。

    4.567917.코드 에서 for 순환 은{}을 포함 합 니 다.즉,블록 급 역할 도 메 인 을 포함 하고 모든 변수 i 는 자신의 역할 도 메 인 에서 만 작용 합 니 다.예 를 들 어 10 번 째 순환 중의 i 의 값 은 9 번 째 순환 에 영향 을 주지 않 습 니 다
    4.567917.var 로 설명 하 는 변 수 는 이런 상황 이 아니다.i 의 값 은 각 블록 안의 i 에 영향 을 줄 수 있다.순환 이 끝 난 후에 i 는 10 이 고 모든 블록 의 i 는 10 이 된다.이것 이 바로 첫 번 째 코드 가 실 행 된 후에 숫자 10 이 나 오 는 이유 입 니 다.이것 은 우리 가 원 하 는 것 이 아 닙 니 다
    4.567917.샤 오 밍 이 10 개국 에 계속 놀 러 간 것 과 같다.한 나라 에 갈 때마다 자신 에 게 다른 신분 을 만들어 주 었 다.그러나 샤 오 밍 은 앞으로 10 개국 에서 얻 은 그 신분 만 사용 할 수 있다 는 통 보 를 받 았 다.그러면 9 개국 에서 샤 오 밍 을 알 게 된 친구 들 은 그 를 알 지 못 했 고 샤 오 밍 은 그 자리 에서 멍 해 졌 다
    var 의 부족 한 점 2
  • var 로 변 수 를 설명 할 때'변수 향상'현상 이 나타난다
  • var a = 1;
    function show(){
      alert(a);
      var a = 2;
    }
    show();//  :undefined

    4.567917.이 유 는 우리 가 코드 블록(함수 내)에서 하나의 변 수 를 설명 하고 정의 하여 변 수 를 향상 시 켰 기 때 문 입 니 다.실제 코드 집행 순 서 는 이 렇 습 니 다.자세히 보면 변수 가 향상 되 었 는 지 알 수 있 습 니 다
    var a = 1;
    function show(){
      var a;
      alert(a);
      var a = 2;
    }
    show();//  :undefined

    4.567917.let 로 아까 그 코드 를 다시 쓰 면
    var a = 1;
    function show(){
      alert(a);
      let a = 2;
    }
    show();//   :  a is not defined

    let 키워드 로 a 정의 하기;이렇게 하면 a 는 코드 블록 안에서 향상 되 지 않 을 것 이다.
    그런데 왜 또 잘못 보 고 했 습 니까?let 로 성명 한 변 수 는 블록 급 역할 영역 에서 폐쇄 적 이 고 외부 전역 변수 a 의 영향 을 받 지 않 으 며 먼저 성명 하고 사용 해 야 하기 때문에 a 의 값 은 1(외부 영향 을 받 지 않 기 때 문)도 아니 고 undefined(먼저 성명 한 후에 사용 하기 때 문)도 아니 며 2 도 아니 고 정의 없 이 사용 하고 잘못 보 고 했 습 니 다.
    4.567917.let 키 워드 를 사용 하 는 것 도 우리 에 게 평소에 정 의 를 먼저 밝 히 고 사용 하 는 좋 은 습관 을 일 깨 워 주 는 것 이다
    let 사용 주의 점
    주의 1:같은 블록 급 역할 영역 에 서 는 같은 변 수 를 반복 적 으로 설명 할 수 없습니다.
    {
      var a =1;
      let a =2;  //  ,  a   var   
    }
    
    {
      let a =1;
      let a= 2; //    ,a   let   。
    }

    주의 2:함수 내 에서 let 로 함수 의 인 자 를 다시 설명 할 수 없습니다.
    function say(word){
      let word = 'hello Jack';  //  : let    word  
      alert(word)
    }
    say('hello Lili');

    총결산
    let 성명 변 수 는 블록 급 작용 역 에서 만 작용 하고 for 순환 에서 사용 하기에 적합 하 며 변수 향상 현상 도 나타 나 지 않 습 니 다.같은 코드 블록 에 서 는 같은 변 수 를 반복 할 수 없고 함수 에 있 는 인 자 를 중복 할 수 없습니다.

    좋은 웹페이지 즐겨찾기