Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- React
- 티스토리챌린지
- useRouter
- 셋팅
- 소셜 로그인
- 코딩테스트
- nextjs
- vscode
- git
- 프로그래머스
- vercel
- deep dive
- 코드카타
- 모던 자바스크립트
- 오블완
- 자주 까먹는
- 모던자바스크립트
- 스파르타코딩클럽
- 내일배움캠프
- 초기셋팅
- array정적메서드
- 리터럴
- js
- CORS
- error
- 프로젝트 셋팅
- domain
- 코테
- 구글 로그인
- Next
- Today
- Total
파피루스
21장, 빌트인 객체 본문
자바스크립트 객체 분류
1. 표준 빌트인 객체 : ECMAScript 사양에 정의된 객체
2. 호스트 객체 : 실행환경 (브라우저, node.js)에서 제공 (ex. DOM, fecth 등)
3. 사용자 정의 객체
래퍼 객체
: 객체처럼 접근하면 생성되는 임시 객체
원시값을 객체처럼 사용하면, 자바스크립트 엔진은 암묵적으로 연관 객체를 생성하여 프로퍼티에 접근하거나 메서드를 호출하고 다시 원시 값으로 되돌린다.
const str = 'hello';
str.name = 'Lee'; // 여기에서 str은 암묵적으로 생성된 래퍼 객체이다.
console.log(str.name); // undefined
console.log(typeof str, str); // string hello
전역 객체
: 코드 실행 전에 자바스크립트 엔진에 의해 어떤 객체보다도 먼저 생성되는 특수한 객체이며, 어떤 객체에도 속하지 않은 최상위 객체이다.
전역 객체의 특징
- 생성자 함수가 제공되지 않는다. (개발자가 의도적으로 생성할 수 없다.)
- 전역 객체의 프로퍼티를 참조할 때 window(또는 global)를 생략할 수 있다.
❓globalThis : 전역 객체를 가리키던 다양한 식별자를 통일한 식별자
// 브라우저 환경
globalThis === this // true
globalThis === window // true
globalThis === self // true
globalThis === frames // true
// node.js 환경
globalThis === this // true
globalThis === global // true
빌트인 전역 프로퍼티
- Infinity
- NaN
- undefined
빌트인 전역 함수
- eval( string ) : 자바스크립트 코드를 인자로 받아 실행한 결과 값을 반환한다.
const x = 1;
function foo () {
eval('var x = 2;');
console.log(x); // 2
}
foo();
console.log(x); // 1
- isFinite( number ) : 유한수 여부를 반환한다.
- NaN이면 false
- null을 넣으면 0으로 변환해 검사하기에 true가 나온다
- isNaN( number ) : 숫자 여부 반환
- parseFloat( string ) : 실수 반환.
- parseInt( string, radix ) : 정수 반환
- radix : 진법을 나타내는 기수 (default 10)
- encodeURI(uri) / decodeURI(uri)
- encodeURIComponent( uriComponent ) / decodeURIComponent( uriComponent )
- 쿼리 스트링 구분자(=, ?, &) 까지 인코딩 한다.
암묵적 전역
const x = 10;
function foo() {
y =20; // 선언하지 않은 식별자에 값을 할당하면, 자바스크립트 엔진은 window.y = 20으로 해석한다.
}
foo();
console.log(x+y); //30 : 선언하지 않은 식별자 y를 전역에서 참조할 수 있다.
어디에서도 y변수 선언을 찾을 수 없기에 에러가 나야하지만, 자바스크립트 엔진은 y=20을 window.y = 20으로 해석해 전역 객체에 프로퍼티를 동적 생성한다. 이를 암묵적 전역이라 한다.
'Book > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글
23장, 실행 컨텍스트 (0) | 2024.05.30 |
---|---|
22장, this (0) | 2024.05.29 |
20장, _ strict mode (0) | 2024.05.28 |
19장, 프로토 타입 (0) | 2024.05.17 |
18장, 함수와 일급 객체 (0) | 2024.05.09 |