const
사용되면 변수를 다시 할당할 수 없다.
객체와 함께 사용할 때를 제외하고는 변경 불가능한 변수
변수 선언과 할당이 항상 동시에 일어나야 한다.
사용할 때 절대 바뀌면 안되는 것에 사용하면 좋다.
let
새로운 값을 가질 수도 있고 재할당할 수도 있다. => 변경 가능한 변수 생성
선언과 할당이 나뉠 수 있다.
Hoisting
변수의 정의가 그 범위에 따라 선언과 할당으로 분리되어 변수의 선언을 항상 컨텍스트 내의 최상위로 끌어올리는 것을 의미
자바스크립트에서 함수의 호출을 첫 줄에서 하고 마지막 줄에 함수를 정의해도 문제없이 작동되도록 하는 유용한 특성
var 선언 말고 let으로로 선언하면 호이스팅을 막을 수 있다.('undefined'를 할당하지 않기 때문)
실제 현업에서는 var 키워드는 절대로 쓰이지 않으며 99%이상의 경우 모든 함수를 무조건 const와 arrow syntax로 선언
Template Literals
문자열 템플릿을 묶을 때 ' 도 " 도 아닌 ` 사용. (키보드 왼쪽 상단에 1 옆에 `(백틱 기호)가 있다.)
이것으로 감싼 후 안에 ${} 로 변수들을 감싸면 문자열이 연결
var a = 3;
var first = 'yeji';
var last = 'yoon';
const string = `${a}my name is ${first} ${last}`;
map() 메서드
배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환
const array1 = [1, 4, 9, 16];
const map1 = array1.map(x => x * 2);
=> map1: Array [2, 8, 18, 32]
함수 레벨 스코프
함수 블록 내에서 선언된 변수는 함수 내에서만 접근 가능 (var)
블록 레벨 스코프
함수를 포함한 모든 코드 블록(if 문, for 문, while 문, try/catch 문 등) 내에서 선언된 변수는 코드 블록 내에서만 접근 가능 (let,const)
Set
중복을 포함할 수 없는 값의 목록
개별 항목에 액세스하지 않는다.
일반적으로 값이 있는지 확인하기 위해 Set를 확인
Map
특정 값에 해당하는 키의 모음
Map의 각 항목에는 두 개의 데이터가 저장되고 값은 읽을 키를 지정하여 검색
캐시로 자주 사용되어 나중에 빠르게 검색할 데이터를 저장
use strict
기존에는 조용히 무시되던 에러들을 throwing합니다.
JavaScript 엔진의 최적화 작업을 어렵게 만드는 실수들을 바로잡습니다. 가끔씩 엄격 모드의 코드는 비-엄격 모드의 동일한 코드보다 더 빨리 작동하도록 만들어집니다.
엄격 모드는 ECMAScript의 차기 버전들에서 정의 될 문법을 금지
'Javascript' 카테고리의 다른 글
클로저 (0) | 2023.01.06 |
---|---|
실행 컨텍스트 (0) | 2023.01.06 |
스코프 (0) | 2023.01.06 |
렉시컬 환경 (0) | 2023.01.06 |
블록레벨스코프와 함수레벨스코프 (0) | 2022.07.27 |