반응형
자바스크립트 객체 분류
- 표준 빌트인 객체
- 호스트 객체
- 사용자 정의 객체
표준 빌트인 객체
Math, Relect, JSON 을 제외한 표준 빌트인 객체는 생성자 함수 객체다 .
생성자 함수 객체는 프로토타입 메서드 와 정적 메서드를 제공
아닌 객체는 정적 메서드만 제공
래퍼객체
문자열,숫자, 불리언 값에 대해 객체처럼( 마침표 표기법) 접근하게되면 생성되는 임시객체
문자열,숫자,불리언,심볼 이외값들은 래퍼객체 생성을 안함 / 생성할시 에러발생
래퍼객체의 동작방식
- 마침표표기법으로 인해 래퍼 객체 생성
- 내부슬롯
[[~Data]]
에 데이터값을 저장 - 객체 처리가 종료되면 내부슬롯에서 원시값 되돌려주고 가비지 셀렉션이됨
전역객체
코드가 실행 되기 이전에 자바스크립트 엔진에 의해 생성되는 최상위 객체
전역객체의 특징
- 개발자가 의도적으로 생성할수없다. 생성자 함수 x
- 프로퍼티를 참조시 window 를 생략할수있다.
- 모든 표준 빌트인 객체를 프로퍼티로 가지고있다.
- var 키워드로 선언한 전역변수 , 암묵적 전역, 전역함수 가 전역객체의 프로퍼티가 된다.
빌트인 전역 프로퍼티
- Infinity - 무한대인 숫자
- NaN - 숫자가 아님
- undefined
빌트인 전역 함수
- eval - 인수로 문자열을 받고 문자열이 표현식이라면 런타임에 평가하여 값을 생성 아니라면 런타임에 실행함
- 실행할때 기존 스코프를 런타임에 동적으로 수정한다 다만 strict mode 에서는 자체 스코프를 갖는다 ( let, const 문자열이 있다면 strict mode 와 동일하게 동작)
- 보안이 취약하고 처리속도가 느려 일반적으로는 사용안함
- isFinite - 유한수면 true 무한수면 false를 반환 (NaN → F)
- isNaN - NaN 인지 검사하고 불리언값으로 반환
- parseFloat - 실수로 해석해서 반환한다.
- parseInt - 정수로 해석해서 반환한다.
- encodeURI / decodeURI - 완전한 URI 를 이스케이프 처리를 위해 인코딩 / 인코딩된 URI를 이스케이프 처리이전으로 디코딩
- 💡 이스케이프란 ? 네트워크 정보 공유시 어떤 시스템에서도 읽을수있는 아스키 문자 셋으로 변환하는것
- encodeURIComponent/ decodeURIComponent - URI 구성요소를 인수로 받아 인코딩한다 / URI 구성요소를 디코딩한다.
반응형
'프론트엔드 > JavaScript' 카테고리의 다른 글
[16일차] SPA (2) | 2022.11.21 |
---|---|
[Deepdive] 22장 this (0) | 2022.04.13 |
[Deepdive] 20장 use strict (0) | 2022.04.11 |
[Deepdive] 19장 프로토타입 (0) | 2022.04.07 |
[Deepdive] 18장 함수와 일급객체 (0) | 2022.04.06 |