Search
Duplicate

연산자, 기타

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
복사