- let, const로 사용한다 (블록레벨 스코프(변수가 유효한 범위) 단위. 밖에서는 사용 불가).
const = 재할당 불가 상수 : 기본적으로 모든 변수는 const로 선언한다.
var = 호이스팅 문제로 사용하지 않음(선언부가 밑에있어도 위에서 끌어올려져서 할당은 되지않아도(undefined) 선언이나온다.
for 문에서 선언해도 블록레벨 밖에서도 유효하다 - 화살표함수
const a = function() {
console.log(a);
}
였던 함수를
const a = () => {
console.log(a);
}
로 표현이 가능하다.
const b = function () {
return 3;
}
라는 리턴만 있는 함수는
const b = () => 3 으로 표현이 가능
- 디폴트파라미터, 인수, 파라미터
function mul(a, b) {
// 인수가 한 개만 전달되었을 때 나머지 매개변수의 값을 1로 설정함.
b = (typeof b !== 'undefined') ? b : 1;
return a * b;
}
mul(3, 4); // 12
mul(3); // 3
function mul(a,b=5) -> 로 설정이 가능하다.
- 템플릿 리터럴
"제이름은" + name + "입니다" => `제 이름은 ${name} 입니다.`
- 비구조화 할당
const obj = { name: "john", nation:"korea"}
obj.name;
obj.nation;
const name = obj.name;
const nation = obj.nation;
name; nation;
-> const {name} = obj; 선언부를 객체처럼 중괄호를 씌운다
const {nation} = obj;
-> const {name,nation} = obj;
const arr = [1,2,3];
const first = arr[0];
const second = arr[1];
->
const [first, second ] = arr;
- import from, export default;
- 펼침연산자
const arr = [ 1,2,3] ;
const arr2 = [0, ...arr , 4 ];
arr2 => [0,1,2,3,4];
const obj = { name: "john", nation:"korea"}
const obj2 = { ...obj}
위의 obj와 키값이 같으면 덮어씌워진다. 키값이 다르면 추가가 된다.
{name: "kate", age: 13 };
=> name이 변경되고 age가 추가된다.
출처