동작이노베이션 캠프 2주차 wil : JavaScript의 ES란?, ES5/ES6 문법 차이

jina Seo·2022년 7월 24일
0

JavaScript의 ES란?

JavaScript - 넷스케이프 커뮤니케이션
MS - JScript

두 언어는 서로 호환되지 못하는 경우가 있어 크로스 브라우징 이슈가 발생.

크로스 브라우징 이슈

기능이 모든 브라우저에서 동일하게 동작하지 않는 이슈

-> 그래서 JavaScript를 표준화함 -> ECMAScript


ES5/ES6 문법 차이
·· 템플릿 리터럴

·· 화살표 함수

·· this

·· 변수선언

·· 모듈

·· 클래스


● 템플릿 리터럴

ES6부터 새롭게 등장한 템플릿 리터럴. 덕분에 문자열 표현이 훨씬 간단해졌다.

템플릿 리터럴이란 작은 따옴표나 큰 따옴표 대신 백틱(`)으로 문자열을 감싸 표현하는 기능을 말한다.

템플릿 리터럴을 사용하면 플레이스 홀더(${variable})를 사용하여 백틱 내부에 문자열과 함께 표현식을 넣을 수 있다.


● 화살표 함수

ES6부터 새롭게 등장한 화살표 함수로 함수 선언법이 좀 더 간단해졌다.

● this의 다른 동작

ES5

ES5같은 경우 객체 내에 있는 메소드를 실행 시 this는 메소드가 선언된 해당 객체를 가리킨다.

하지만 객체 안에서 선언된 함수의 this는 해당 객체가 아닌 window를 바라보고 있기 때문에 함수 안에서 this.name, this.age 를 하여도 아무 값이 나오지 않는다.

이러한 경우 해결방안으로 innerInfo.call(this) 를 통해 this 를 바인딩 시켜주거나 this를 해당 변수에 담아서 var self = this 와 같은 방식으로 접근하면 사용하면 된다.

ES6

ES6에서의 this 는 자신을 둘러싸고 있는 this를 바라보기 때문에 따로 바인딩이나 변수에 담을 필요 없다.

● 변수 선언

ES5

ES5에선 var 밖에 존재하지 않았다. var 는 변수를 선언할 때 사용되는 키워드로,

재할당과 재선언에 굉장히 자유롭다.

ES6

ES6부터 let, const가 추가되었다.

let은 한번 선언된 변수에 동일한 이름으로 선언할 수 없다.

하지만, 값은 재할당 할 수 있다.

출처
https://blog.naver.com/tlsgkdals71/222567678526

+) 클래스 상속같은 내용은 온전히 이해하지 못했다. 일단 과제를 먼저 만들면서 모르는 부분 틈틈이 채워야겠다. 처음엔 쉽지않은게 정상이고 완전하게 다 이해못하는 게 정상임을 알면서도 스스로에게 실망을 하게된다.
부족한 건 틈틈이 채우면 돼, 괜찮아

profile
운동하는 개발자가 꿈입니다?

0개의 댓글