# ES6 함수의 추가 기능
객체에 바인딩된 함수
메서드 축약표현으로 정의된 함수
내부슬롯 [[HomeObject]]
를 가짐내부슬롯 [[HomeObject]]
로 자신을 바인딩한 객체를 참조.내부슬롯 [[HomeObject]]
를 통해 superClass의 메서드를 참조할 수 있으므로, super
도 사용할 수 있음.super
- super 호출 시 superClass의
constructor
를 호출- super 참조 시
내부 슬롯 [[HomeObject]]
를 사용해 superClass의 메서드 호출 가능
🧐 화살표 함수 내부의 this는 상위 스코프의 this를 참조하기 때문에, 상위스코프인 전역 객체를 참조해야 한다. 하지만 화살표 함수 내부의 this는 인스턴스를 가리킨다. 왜지?
🧐 sayHi 클래스 필드에 할당한 화살표 함수 내부의 super는 constructor 내부의 super 바인딩을 참조한다. 화살표 함수의 상위스코프가 constuctor 라는 건가?...
(p.486쪽의 클래스 부분이 잘 이해가 안가는데 다시 복습해야겠다)매개변수 이름 앞에 ...을 붙여 정의한 매개변수
함수에 전달된 인수
들의 목록을 배열로 전달받음
함수 객체 length 프로퍼티로 매개변수 개수 파악하기
함수이름.length
arr.length에 숫자값을 할당하여 배열을 바꿀 수 있다.
기존에는 Array.prototype.slice(혹은 splice)
를 통해 배열을 잘랐는데 arr.length로 자르는 것도 명시적이고 좋아보인다.
단순히 배열의 길이를 줄이기 위해서라면 arr.length로 조절해도 괜찮을까?
Array(length).map(v => v)
형태를 Array.from으로 체이닝없이 해결 가능Array.from({length: 정수}, callback)
😲 놀라운 사실!
마지막에 추가할 배열의 요소가 1개뿐이라면 push보다 Array.length가 더 빠르다는 것!
왜지?
Date 생성자 함수에 인수로 전달하는 숫자의 단위는 ms
이다.
1,000ms
60,000ms
3,600,000ms
86,400,000ms
1970년 1월 1일 00:00:00(UTC)부터 인수로 작성한 시간대까지의 경과된 ms
를 반환.
1970년 1월 1일 00:00:00(UTC)부터 인수로 작성한 시간대까지의 경과된 ms
를 반환.
Date 객체의 날짜
부분을 반환
Date 객체의 시간
부분을 반환
인수의 Locale을 기준으로 표현된 Date 문자열 반환