TIL 05.02(primitive 타입의 메소드 호출)

Lee Jooam·2022년 5월 2일
0
post-thumbnail

[BOJ] 2870 크로아티아 알파벳

[BOJ] 2870 수학숙제

브라우저 렌더링 과정

Primitive 타입의 메소드 사용

primitive 타입의 값은 객체가 아니다. 하지만 자바스크립트는 마치 객체처럼 primitive 값들이 메소드를 다룰 수 있게 해준다.

자바스크립트의 창안자는 원시 값들이 가능한 한 가볍게 유지되기를 원했다.

그러면서도 메소드를 이용해 편리하게 원시 값들을 사용할 수 있길 바랐는데, 이 방안으로 원시 래퍼 객체가 고안됐다.

const str = 'Hello World!!';
console.log(str.indexOf('World'));
6

객체도 아닌 데이터가 마치 객체처럼 메소드를 사용했다. 여기선 자바스크립트의 트릭이 발생한다.

null과 undefined를 제외한 원시 타입이 property에 접근할 때 특별한 객체가 생성된다.

우리는 이 객체에 접근해 메소드를 사용할 수 있고, 메소드의 사용이 끝나면 이 객체는 파괴된다.

이런 트릭을 이용해 자바스크립트는 값을 가볍게 유지하면서 유용한 메소드를 제공했던 것이다.

리팩토링

책을 무작정 많이 읽는다고 좋은 건 아니다. 그만큼 깊게 생각하지 않고 읽기 때문이다. 문득 코드에서도 이런 법칙이 적용되지 않을까 생각했다.

슬라이더를 리팩토링하는 작업을 했는데, 내부 함수들을 나누고, 사용자의 옵션에 따라 유효성을 검증하는 등 생각보다 많은 작업이 필요했다.

단순한 슬라이더도 이럴 텐데 작은 규모의 프로젝트는 어떨까?

한때 나를 우매함의 봉우리로 끌고 올라갔던 애증의 풀스택 프로젝트 암마켓을 조만간 리팩토링 해봐야겠다.

  • 함수 정리
  • 중복된 코드 제거
  • 예외사항 처리
  • 추가사항 고려

내가 했던 작업을 다시 되돌아보는 건 신선한 경험이 될 것 같다.

profile
프론트엔드 개발자로 걸어가는 중입니다.

0개의 댓글