본문 바로가기
V타민은 자라서 비타민이 됩니다/V타민 하루 걸음 (일기)

이틀 걸음 | JS Deep Dive, 안타까운 사고

by vitaminFE 2022. 10. 30.

 이틀의 요약

- JS Deep Dive : 말이 필요 없다! 이 책을 한 번 마무리하고 난 뒤의 리액트, 리덕스, 타입스크립트가 기대될 뿐!

단순한 개념 공부가 아닌, 실무에서는 어떤 식으로 쓰는지를 함께 배울 수 있어 날마다 폭넓은 시야가 구축되는 기분이다.

얼른 끝내고 싶어 힘이 솟아난다 :D


✍🏻 오늘의 개발 공부 키워드

1. (25장) 클래스 : 상속

- (p 417) 자바스크립트는 프로토타입 기반 언어. 사실은 클래스가 필요 없는 객체지향 프로그래밍 언어 (생성자 함수와 프로토타입을 이용해 상속 구현 가능)

- (p 419) 클래스는 함수이다. typeof 클래스 : function

- (p 419) 클래스에 정의할 수 있는 메서드는 3가지

 : constructor(생성자) : 생성자 함수 역할 맡는 메서드. 자식들이 직접 해당 프로퍼티를 갖는다.

 : 프로토타입 메서드 : 인스턴스의 프로토타입에 존재한다. (자식이 직접 물려받는 것은 아니고, 부모의 프로토타입에 추가된 것을 가져다 쓸 수 있다)

 : 정적 메서드 : 정적 메서드는 체이닝 X (인스턴스에서 접근할 수 X - 지양). 클래스 자체에서 접근해야 한다.

 

- (p 448, 452) extends 키워드 : 상속받을 클래스를 정의

- (p 455) super 키워드

 : super 호출 : 상위의 constructor 호출

 : super 참조 : 상위 메서드 호출

 

- (p 463) 인스턴스 확인 방법

 : 밖에서 확인하려면 : A instanceof B (A가 B라는 클래스 타입이니?)

 : 부모 입장에서 확인하려면 : new.target (내 자식 체크하기)

2. (27장) 배열

- (p 493) 배열은 인덱스와 요소로 구성, 값의 순서가 있으며, length 프로퍼티(배열의 길이)를 갖는다.

- (p 493) 사실, 자바스크립트의 배열은 해시 테이블로 구현한 "객체"다.

 : 요소를 삽입/삭제가 일반적인 배열보다 빠르다.

- (p 499) 희소 배열(sparse array) : 배열 일부가 값 없이 빈 요소가 있을 수 있다.

 : 희소 배열의 length은 요소 개수와 일치하지 않는다.

 

< 자주 사용되는 배열 >

- 생성 : Array.of, Array.from

- 메서드

 : 원본 변경 : push(), pop(), unshift(), shift(), splice(), join(), fill()

 : 원본 유지 (새로운 배열 생성 반환) : concat(), slice()

- 배열 고차 함수 : 함수를 인자로 전달 / 반환

 : 원본 변경 : sort()

 : 원본 유지 : forEach() - 콜백 함수로 원본 배열 변경 가능(p 534), map() - 새로운 배열 반환, filter() - 새로운 배열 반환, reduce() - 결과 값을 정리하고 싶을 때 (숫자든, 객체든, 배열 형태든)

3. (28, 29장) Number, Math

- (p 553) Number.EPSILON

 : 왜 컴퓨터에서 0.1 + 0.2 === 0.3이 안 되는지에 대해

 : 대학교 1학년 때 왜 입실론 델타를 배우나 하더니 여기서도 나온다 ㅋㅋㅋ 싱기방기

- (p 559) Number.prototype.toFixed : 소수점 반올림해서 문자열 반환

- (p 561) Math.abs : 절댓값

- (p 562) Math.round : 반올림, Math.ceil : 올림, Math.floor : 내림

- (p 563) Math.sqrt : 루트, Math.random : 0 이상 1 미만 난수

4. (30장) Date

- (p 405) 변수 값은 누군가에 의해 언제든지 변경될 수 있어 오류 발생의 근본적 원인이 될 수 있다.

불변성을 지향하

5. (31, 32장) RegExp, String

- (p 405) 변수 값은 누군가에 의해 언제든지 변경될 수 있어 오류 발생의 근본적 원인이 될 수 있다.

불변성을 지향하

 

=================

(아래는 내일 정리하기)

1. (30장) Date

2. (31,32장) RegExp, String

3. (33장) Symbol

4. (35장) 스프레드 문법, (36장) 디스트럭처링 할당

5. (37장) Set과 Map

6. (38장) 브라우저 랜더링 과정

7. (39장) DOM

8. (34장) 이터러블

9. (40장) 이벤트

10. (41장) 타이머

11. (42장) 비동기 프로그래밍, (43장) Ajax


💭 생각 넓히기

- 오늘의 생각

안타까운 일이 일어났다.

오래간만에 친구들과의 만남을 갖거나, 나에게 휴식을 주거나, 그저 그 길을 지나가거나 하던 중 마주한.

대부분이 10대 20대라는 점이 특히 나에게 안타까운 마음으로 와닿는 이유는,

모두가 각자의 꿈을 가지고 치열한 매일의 결과가 단숨에 끝나버릴 수 있다는 부분 때문인 것 같다.

 

- 그에 대한 나의 생각

정말 한 치 앞도 모르는 채 매일을 걷는 우리에게 어떻게 살 것인가에 대한 화두를 던지는 것이 아닌가 생각해본다.

더 나은 직장도, 휴식을 취하는 것도, 다이어트 등의 미용이나 외모에 대한 부분도 결국은 행복해지기 위한 부분이지 않을까.

 

그렇게 생각하니 오늘 여전히 치열한 취업 전선에 있지만, 건강히 살아있다는 점에 감사함을 느낀다.

주말마다 가족들과 추억을 쌓을 겸 운전 연습을 하고 있다. 초보 운전인 내가 지금까지 무탈하게 운전하는 것도 참 다행이라고 생각이 든다.

 

고인의 명복을 빈다. 부디 못 다 이룬 꿈을 꼭 펼치길.

 

- 내가 바라는 것

🍊 건강. 하루를 조금 더 발전하며 무사히 잘 보낸다.


💖 가치 높이기

- 잘한 점 칭찬하기 : 집중력을 높이기 위해 중간중간 자주 쉬어주기! 
- 아쉬운 점 : 오늘도 시간을 아쉽게 쓴 점은 없이 만족스러운 하루였다! :) 
- 어떻게 개선할 수 있을까? : 의식적으로 머리를 환기시키는 부분이 만족스럽다. 주말 간 더욱 바쁘게, 기본에 충실하며 해낼 수 있다는 마음으로 나아가자! 내일 공부하고 나면 또 얼마나 성장해있을지가 기대되는 요즘이다.🍊