20210730
Facts & Feelings
코어 자바스크립트 독서
- 객체 전용 메서드
- 프로토타입 체이닝
자바스크립트에서 객체 전용 메서드는 다음과 같이 static 메서드로 지정되어 있다. 배열 전용 메서드가 prototype 에 들어있는 것과는 다르게 되어 있다. arr.every(i -> i !== 0)
과 같이 단순하게 체이닝하면 좋을텐데, 왜 이렇게 되어 있는 걸까?
const object = {};
Object.values(object);
// 왜 배열 전용 메서드 처럼 Array.prototype 에 들어있지 않을까?
이유는 이와 같다. 자바스크립트는 프로토타입 기반의 객체지향을 따르고 있다. 이 구조에서는 프로토타입 체이닝을 통해서 상속을 구현한다. 체이닝을 통해 원형 객체를 따라가다 보면, 최상단에는 Object 가 위치하고 있다.
만약, 객체 전용 메서드를 Object.prototype 에 배치한다면, 모든 타입의 자바스크립트 객체들이 해당 메서드를 참조할 수 있게 된다. 그래서, 설사 object 전용 메서드를 prototype 에 추가하더라도, 그것은 모든 타입의 객체가 쓸 수 있게 되어버린다. 이 때문에 자바스크립트에서는 object 의 전용메서드를 Object.values()
와 같이 static method 로 설계하였다.
이력서 작성
요 며칠간 이력서를 작성하면서 어려움을 많이 겪었다. 자신이 쓴것을 여러번 수정해야했는데 그것이 참 고역이었다. 어렵게 느껴졌던 점은, 무엇이 잘못되었는지 명확하게 알수없는 것이었다.
명확성을 되찾기 위해, 내가 작성한 부분이 어떤 점에서 이상한지를 명시적으로 적어보고, 말을 해보며 고치는 연습을 했다. 이 부분은 ~~ 해서 이상하다, ~~ 을 빼고 ~~ 으로 대체해보자.
라는 식이었다. 매일 새로운 버전의 이력서를 만들어, 여러가지 버전의 이력서를 두고 어떤 부분이 변화된 건지 알 수 있도록 했다.
물론 위의 작업을 훌륭하게 수행하지는 못했다. 하다가 지쳐서 에라 모르겠다하는 순간도 많았다. 하지만, 무언가를 잘하게 되는것이 모두 학습이라고 하고, 이력서를 작성하는 것도 그 중 하나라면 적절한 방향이었다고 생각한다.
피드백을 더 받았어야 했는데, 뭔가 시간을 뺏는것 같아 요청을 하지 못했다. 이런부분도 아쉽다.
Findings
- 모든 일에 명확성을 더 키우자.
- 성공보다는 성장, 목표보다는 계획을 통해 자유로워지자.
Affirmation
- 나는 급할수록 더욱 분명하게 행동하는 사람이다.
Author And Source
이 문제에 관하여(20210730), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gringrape200/20210730저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)