*이 필기는 웹 프로그래밍 튜토리얼에서 보고 작성합니다.
1. 자바스크립트 객체의 분류
- 표준 빌트인 객체 : 자바스크립트 환경에 관계없이 공통적으로 기능을 제공한다.
- 호스트 객체 : 자바스크립트 환경에 따라서 추가적으로 제공하는 객체들을 말한다.
- 사용자 정의 객체
2. 표준 빌트인 객체
자바스크립트에는 40여 개의 표준 빌트인 객체가 제공되는데 여기서 Math, Reflect, JSON을 제외한 객체들은 모두 인스턴스를 생성할 수 있는 생성자 함수이다.
그리고 표준 빌트인 객체가 생성한 인스턴스의 프로토타입은 표준 빌트인 객체의 prototype 프로퍼티에 바인딩된 객체이다. ex) String으로 만든 인스턴스의 프로토타입은 String.prototype
3. 원시값과 래퍼 객체
왜 문자열이나 숫자 등의 원시값이 있는데도 Number, String 같은 객체가 있을까?
const str = 'hello';
console.log(str.length);
console.log(str.toUpperCase());
이 예제를 보면 그냥 문자열 원시값인데 마치 객체처럼 동작하는 것을 알 수 있다.
이는 자바스크립트에서 숫자나 문자열같은 원시값에 대해 마침표 표기법으로 접근하면 임시로 연관된 객체로 변환하기 때문이다. 이러한 문자열, 숫자, 불리언 값에 대해 객체처럼 접근하면 임시적으로 생성되는 객체를 래퍼 객체라고 한다.
4. 전역 객체
- 브라우저 환경 -> window
- Node.js 환경 -> global
이러한 전역 객체는 표준 빌트인 객체와 환경에 따른 호스트 객체, 그리고 var 키워드로 생성한 전역 변수 등을 프로퍼티로 갖는다.
그리고 이러한 전역 객체는 몇 가지 프로퍼티와 메서드를 가지고 있는데 window나 global을 생략하고 호출할 수 있다.
먼저 빌트인 전역 프로퍼티를 살펴보자
Infinity - 무한대
NaN - 숫자가 아님을 나타내는 숫자값
undefined
그리고 빌트인 전역 함수를 보자
eval
받은 문자열 코드가 표현식이라면 평가해서 값을 생성한다.
isNaN
받은 인수가 NaN 인지 검사해서 불리언값을 반환한다.
parseFloat
받은 문자열인수를 실수로 해석해 반환한다.
parseInt
받은 문자열인수를 정수로 해석해 반환한다.
이외에도 많은 전역함수가 있다.
여기까지 입니다 - 틀린 점이 있다면 꼭 지적해주세요!