Trailing commas, 거듭 제곱, try-catch, 함수작성 형태
Trailing commas
Object 끝에 콤마를 사용할 수 있습니다. ES5에서는 블록을 닫는 마지막 중괄호 앞에 콤마를 작성하면 에러가 발생했는데 이제 ES6부터는 Object뿐 아니라 배열끝에도 콤마 사용이 가능합니다.
const obj = {
book: 100,
point: 200,
};
const list = [100,200,];
JavaScript
복사
ES6이후로 이렇게 끝에 콤마를 붙혀도 에러가 발생하지 않습니다.
거듭 제곱
•
거듭 제곱 방법
•
좌결합성
◦
왼쪽에서 오른쪽으로 계산합니다.
◦
1 + 2 + 3은 (1 + 2) + 3으로 계산합니다.
•
우결합성
◦
오른쪽에서 왼쪽으로 계산합니다.
◦
A ** B ** C 에서 A ** (B ** C)로 계산합니다.
•
소괄호를 통해 우선 평가 대상을 바꿀 수 있습니다.
◦
(2 ** 3) ** 2 에서는 소괄호 부터 평가를 하기때문에 9의 2승이 됩니다.
console.log(2 ** 3);//8
console.log(3 ** 2);//9
console.log(2 ** 3 ** 2);//512
console.log(2 ** (3 ** 2));//512
console.log((2 ** 3) ** 2);//64
JavaScript
복사
⇒ 2**3**2는 2의 3승의 2승이 아니라 먼저 3의 2승을 구하게됩니다.
그렇기에 2의 9싱이 되어 512가 됩니다.
try- catch
•
try-catch의 catch(error)에서
◦
catch처럼 (error)를 생략 가능합니다.
◦
ES2019
•
(error)에서 메세지를 받아 사용하지 않을 때 편리합니다.
•
타이핑 실수를 방지할 수 있습니다.
const sports = "스포츠";
try{
sports = "축구";
} catch(error){
console.log("(error) 작성")
};
//catch만 작성
try{
sports = "축구";
}catch{//error가 생략
console.log("(error) 생략")
};
JavaScript
복사
함수 작성 형태
•
Object에 함수를 작성할 때 function 키워드를 작성하지 않습니다.
•
Object에 함수를 작성하는 이유
◦
함수에서this로 Object 전체 참조
◦
new연산자로 인스턴스를 생성하지 않음
(메소드가 아닌 함수로 접근)
◦
Object전체가하나의 묶음이기에 접근성/가독성이 좋음
◦
sports에 시맨틱을 부여할 수 있으며 다른 오브젝트 이름과 프로퍼티 이름이 충돌되지 않습니다.
const sports = {
point: 100,
//ES5 형태
getValue: function(){
return this.point;
},
//ES6 형태
getPoint(){
return this.point;
}
};
console.log(sports.getPoint());
JavaScript
복사