2021. 11. 21. 12:40ㆍ[프론트엔드]_/[Javascript]_ES6
공부 자료 : 드림코딩 by 엘리
개발 환경 : visual studio code
언어 : js
변수 선언
어플리케이션 마다 쓸 수 있는 메모리는 정해져 있다.
let 이라고 정의하게 되면 한가지의 포인터가 생긴다. 이는 내용을 참조하여 변경이 가능하다.
Var 변수 선언
es6 이후 var는 사용하지 않는다.
대부분의 프로그램 언어는 선언 후 값을 할당하는데 var의 경우에는 선언하지 않고도 사용이 가능하다.
즉 Hoisting이 된다.
hoisting은 어디에 선언했는지 상관 없이 제일 위로 끌어올려주는 것을 말한다.
또한 block Scope 도 무시한다. 즉 어디에서나 접근이 가능하다 규모가 큰 프로젝트에서는 의도하지 않은 호출이 될 수 있기 때문에 최대한 사용을 줄인다.
Mutable 과 Immutable
let : Mutable datatype
const : Immutable datatype
const의 경우 한번 할당하면 포인터가 잠긴다. 즉 변경할 수 없다.
const로 할달 할 수 있으면 최대한 const로 지정한다 이유는 다음과 같다.
1. 보안상의 이유
2. thread safety : 스레드가 동시에 해당 변수의 값을 변경하게 되면 굉장히 위험하다. 이를 방지할 수 있다.
3. 실수 방지 : 다른 개발자가 수정을 해도 오류 발생률을 낮춰준다.
Block Scope
{} 안에 선언 된 변수는 참조할 수 없다.
Type / Template literals
js에서는 타입이 다이나믹하게 결정이 되기 떄문에 알아서 지정해준다. 이후 ts에서 number로 지정 할 수도 있다.
그 외의 지정은 다음과 같다.
Symbol
동일한 string을 작성해도 다른 고유한 식별자를 만들 때 사용한다.
동시에 다발적으로 일어나는 코드에서 우선순위를 주기 위해서 사용
js 에서 제공하는 다이나믹 타이핑
변수 선언시 타입을 같이 선언하지 않고 runtime에 할당된 값에 타입이 변경 될 수 있다.
object
const로 정의된 object 에서 해당 안의 내용을 참조해서는 변경이 가능하다.
코드 전문
실행 결과
'[프론트엔드]_ > [Javascript]_ES6' 카테고리의 다른 글
[프론트엔드]_JavaScript(es6)_4. Class (0) | 2021.11.27 |
---|---|
[초보개발자]_JSP 메모장 2번 (0) | 2021.11.26 |
[초보개발자]_JSP 메모장 1번 (0) | 2021.11.25 |
[프론트엔드]_JavaScript(es6)_3. Function (0) | 2021.11.21 |
[프론트엔드]_JavaScript(es6)_2. operator, if, for loop (0) | 2021.11.21 |