1 minute read

원시값의 메서드

JS 는 원시값 객체처럼 다룰 수 있게 해줌

  • 원시값 객체처럼 사용하기

    고려

    1. 원시값의 메서드를 사용

    2. 원시값은 가능한 한 빠르고 가볍게

    해결법

    1. 원시값은 원시값 그대로 남겨 단일값 유지

    2. 문자열, 숫자, 불린, 심볼의 메서드와 프로퍼티에 접근할 수 있도록 언어 차원에서 허용

    3. 원시값이 메서드나 프로퍼티에 접근하려 할 때 추가 기능을 해주는 특수한 객체 원시 래퍼 객체 만들어줌. 이 객체는 곧 삭제

  • 레퍼 객체

    원시 타입에 따라 종류 다르고 각 종류마다 제공하는 메서드 다름

    알고리즘

    1. 원시값의 프로퍼티에 접근하는 순간 특별한 객체 만들어 짐 이 객체는 원시값 알고 있꼬 유용한 메서드 가지고 있음

    2. 메서드 실행되고 새로운 원시값 반환

    3. 특별한 객체 파괴, 원시값만 남음

    JS 엔진은 위 프로세스의 최적화에 많은 신경 씀

  • String/Number/Boolean 생성자로 쓰기 금지

    new 사용해 원하는 타입의 “래퍼 객체” 만들기 가능

    객체를 return 하기 때문에 사용 지양

    new 사용하지 않을 시 원시값 return

  • null/undefined 는 메서드 없음

    “래퍼 객체” 없고 메서드도 없음

    가장 원시적

요약

  • JS 는 원시값 객체처럼 다룰 수 있게 해줌

  • 원시값에 메서드와 프로퍼티 접근하도록 허용

  • 호출 할 시 원시 래퍼 객체 만들고 곧 삭제.

  • 원시 래퍼 객체는 새로운 원시값 반환 후 바로 삭제.

  • JS 엔진이 최적화에 신경 씀

  • 원시값 생성자로 쓰면 객체 반환 됨

  • 함수로 쓸 시 원하는 원시값 return

  • null/undefined 는 메서드 없음

  • 원시값에 프로퍼티 추가할 때 엄격모드 일 시 래퍼 객체 수정할 수 없음으로 에러, 비 엄격모드 일 시 프로퍼티 추가 가능

Categories: ,

Updated: