정리글에 포함된 모든 정보는 드림코딩 엘리님의 유튜브 동영상을 참고하였습니다.
변수는 변경될 수 있는 값으로써 js에서의 변수 선언은 let을 이용해서 선언 가능하다
let은 ES6에서 추가가 되었다.
변수 선언과 사용
위의 예시 코드처럼 let은 변경될 수 있기 때문에(Mutable Data Type) 사용후 재할당이 가능하다.
let이란 키워드를 이용해서 name이란 변수를 정의하게 되면 메모리를 가리킬 수 있는 포인터가 생기고 그 포인터가 가리키는 곳에다가 dream이란 값을 저장한다.
중괄호를 사용해서 Block Scope를 작성할 수 있다.
블럭 스코프 안에서 선언된 변수는 블럭스코프 밖에서 접근할 수 없다는 특징이 있다.
이와 반대로 파일안에서 정의를 해서 사용하는 것으론 Global Scope이라고 한다.
글로벌 스코프는 어플리케이션이 실행되는 순간부터 끝날 때까지 항상 메모리상에 탑재되어 있기 때문에 최소한으로 사용하는 것이 좋다.
예시 코드 결과!
let의 등장 이전에는 var를 사용했지만 몇가지 문제점이 있기 때문에 사용하지 않는다.
var가 위와 같은 문제점을 가지는 이유는 hoisting때문이다.
hoisting은 어디에 선언했느냐에 상관없이 항상 제일 위로 선언을 끌어올려주는 것을 의미한다.
var에 대해서 자세히 다루는 것은 생략하겠다.
constant는 값이 한번 할당되면 절대 바뀌지 않는 값을 의미하며 Immutable Data Type(값이 불변하는)이다.
이러한 장점 때문에 constant를 사용하는 것을 추천한다.
javascript에선 문자이던 문자열이던 상관없이 string 데이터 타입으로 취급한다.
아래의 선언 예시를 보자
위와같이 선언을하고 console.log()
을 사용해 각각의 타입을 출력 하면 전부 string이 나오는 것을 확인할 수 있다.
Boolean의 종류
false : 0, null, undefined, NaN, ''
true : 제외한 모든 값
공백의 상태 null로 설정하였을 때 텅 비어있는 값으로 할당됨.
undefined로 할당을 하면 선언은 되었지만 아무값도 지정되어있지 않은 상태로 값이 공백인지 들어가있는지 확인이 되지 않음.
맵이나 다른 자료구조에서 고유한 식별자가 필요하거나 우선순위를 정해주기 위해서 사용함.
예시코드)