: 명시적인 것이 암시적인 것보다 좋다.: 기본 매개변수는 종종 short circuiting 트릭보다 깔끔하다. 기본 매개변수는 매개변수가 undefined일때만 적용된다. '', "", false, null, 0, NaN 같은 falsy한 값들은 기본 매개변수가 적
: 함수 인자는 2개 이하가 이상적이다. 매개변수의 개수를 제한 하는 것은 함수 테스팅을 쉽게 만들어 주기 때문에 중요하다. : 함수가 1개 이상의 행동을 한다면 작성하는 것도, 테스트하는 것도, 이해하는 것도 어려워진다. 당신이 하나의 함수에 하나의 행동을 정의하는
getter와 setter를 사용한다객체의 속성을 얻는 것 이상의 많은 것을 하고 싶을 때, 코드에서 모든 접근자를 찾아 바꾸고 할 필요가 없다.set 할때 검증로직을 추가하는 것이 코드를 더 간단하게 만든다.내부용 API를 캡슐화 할 수 있다.getting 과 set
: 기존 ES5의 클래스에서 이해하기 쉬운 상속, 구성 및 메소드 정의를 하는 건 매우 어렵다. : 클래스 함수에서 단순히 모든 함수의 끝에 this를 리턴해주는 것으로 클래스 메소드를 추가로 연결할 수 있다.
: ES2017/ES8에선 async와 await이 있다. 함수 앞에 async를 붙이는것 뿐이다. 참고 링크 Github