JavaScript에서 Object
와 object
는 서로 다른 의미를 가지며, 이는 대문자와 소문자의 차이로 인해 발생합니다.
1. Object
(대문자 O)
Object
는 자바스크립트의 내장 객체 중 하나로, 모든 객체의 프로토타입 체인의 최상위에 위치합니다. 이를 통해 객체를 생성하고 조작할 수 있는 다양한 메서드와 속성을 제공합니다. Object
는 생성자 함수로 사용되어 객체를 생성할 수 있습니다.
주요 메서드와 속성
Object.create(proto[, propertiesObject])
: 지정된 프로토타입 객체와 속성을 가지고 새로운 객체를 만듭니다.Object.assign(target, ...sources)
: 하나 이상의 출처 객체로부터 대상 객체로 속성을 복사합니다.Object.keys(obj)
: 객체 자신의 열거 가능한 속성 이름을 배열로 반환합니다.Object.values(obj)
: 객체 자신의 열거 가능한 속성 값들을 배열로 반환합니다.Object.entries(obj)
: 객체 자신의 열거 가능한 속성 [키, 값] 쌍을 배열로 반환합니다.
2. object
(소문자 o)
object
는 자바스크립트에서 기본 자료형 중 하나를 나타내는 키워드입니다. 이 자료형은 객체 타입을 의미하며, 자바스크립트에서 객체는 키-값 쌍으로 이루어진 데이터 구조를 가집니다. 객체 타입에는 배열, 함수, 날짜, 정규 표현식 등 다양한 객체가 포함됩니다.
객체 타입의 예
- 객체 리터럴
- 배열
- 함수
- 날짜 객체
- 정규 표현식 객체
typeof
연산자를 사용한 타입 확인
typeof
연산자를 사용하여 객체의 타입을 확인할 수 있습니다.
요약
Object
(대문자 O)는 자바스크립트 내장 객체로, 객체를 생성하고 조작할 수 있는 다양한 메서드와 속성을 제공합니다. 모든 객체는Object
의 프로토타입을 상속받습니다.object
(소문자 o)는 자바스크립트의 자료형 중 하나로, 객체 타입을 의미하며, 키-값 쌍으로 이루어진 데이터 구조를 가집니다. 배열, 함수, 날짜, 정규 표현식 등 다양한 객체가 포함됩니다.
이 두 개념의 차이를 이해하면 자바스크립트에서 객체를 다루는 데 있어서 더 명확한 이해를 할 수 있습니다.