● 오늘 공부한 것
- 일급객체
[18장 함수와 일급객체]
● 일급객체 다음과 같은 조건을 만족하는 객체를 일급 객체라 한다. 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성 가능하다. 변수나 자료구조에 저장할 수 있다. (객체, 배열) 함수의 매
ddaeunbb.tistory.com
- 고차함수
고차함수는 이전에 정리해둔 것이 있어서 .. 꽤나 기뻤읍니다.. 매도 먼저맞아야한다고..
알고리즘 문제를 풀었는데, 그래도 꽤나 수월하게 풀어 다행이었다. 예전에 한달동안 고차함수만 앉아서 문제풀었던 적이 있었기 때문에, 다시 리마인드와 복습을 하는 좋은 기회였다.
- 빌트인객체
[21장 빌트인 객체]
● 빌트인 객체 표준 빌트인 객체 : 표준 빌트인 객체는 ECMAScript 사양에 정의된 객체를 말하며, 애플리케이션 전역의 공통 기능을 제공한다. Object, String, Number, Boolean, Symbol, Date, Math, RegExp, Array,
ddaeunbb.tistory.com
● 내가 놓치고 있던 것
- 추상화란?
복잡한 어떤 것을 압축해서 핵심만 추출한 상태로 만드는 것이 추상화이다. 추상화의 관점에서 바라보면 함수는 사고 또는 논리의 묶음이다. 따라서 추상화의 장점은 고민거리가 줄어들고, 문제해결이 쉬워진다.
- 함수가 일급 객체라고 하던데, 그럼 함수만 일급 객체일까?
[함수가 일급객체면 그냥 객체도 일급객체일까]
함수뿐만 아니라 다른 일급객체들이 잇다.
ddaeunbb.tistory.com
- reduce의 메서드에서 초기값을 설정해주지 않으면 배열의 첫번째 값을 초기값으로 설정해준다.
const arr = [[1, 2], [3, 4], [5, 6]];
const arr2 = arr.reduce((acc,cur)=> [...acc, ...cur])
console.log(arr2)
[ 1, 2, 3, 4, 5, 6 ]
위와 같이 spread 문법으로 새 배열을 만들어 return 하고 싶었다. 근데 초기값을 설정하지 않았는데 어떻게 실행되는 것인지에 대한 의문점이 들었는데, 초기값이 설정되어있지않으면 배열의 첫번째 요소가 배열의 초기값으로 설정된다는 것이다.
즉, 첫번째 요소 [ 1, 2 ] 가 acc가 되는 것이고, cur에 오는 것이 [ 3, 4 ] 가 오게 되는 것이다. 그래서 결과값이 나온다.
하지만 배열이 빈 배열일 경우, 초기값을 설정하지않으면 에러가 난다.
● 끝맺음
- 느낀점
- 벌써 배열의 고차함수까지.. ㅜ ㅜ!!!빠르다빠륵다!!
- 프로토타입을 공부해놔서 다행이다..
- 내일은 클래스 배울생각에 엄두가 안난다.
- 수업이외의 학습
- 함수와 일급객체, strict mode, 빌트인 객체 공부하기 (this는 시간이 모잘라 하지 못햇음 ㅜ ㅜ아쉽다.)
- 모딥다 스터디 2시간