-
[자바스크립트 비기너] 오브젝트, 빌트인개인 공부/JavaScript 2021. 11. 4. 23:59
1. 오브젝트(Object)
프로퍼티
{name: value}
형태
name
- name에 프로퍼티 이름/키를 작성한다.
- 프로퍼티 name(key)에서 key는 유일하지만 name은 중복될 수 없다는 뉘앙스가 풍긴다.
- ES3에서는 같은 이름이 등록되기도 한다.
- ES5에서는 key와 name을 구분하지 않아도 되지만 ES6에서는 구분해야 한다. 값이 지칭하는 범위가 조금 다르다.
- name의 따옴표를 생략해도 된다. 따옴표를 작성하지 않아도 문자열로 간주된다.
value
- JS에서 지원하는 타입을 작성한다.
- 값의 위치에 오브젝트를 작성해서 프로퍼티를 확장시킬 수 있다.
- 오브젝트는 value에 중괄호를 작성하여 프로퍼티를 확장할 수 있는 것이 특징이다. 구조적으로 만들 수 있는 것.
- 오브젝트를 객체라고 부르지만 뉘앙스가 다르다.
- 여기서의 오브젝트는 실체가 있는 것. 객체는 맥락에 따라 실체가 없는 개념적인 이야기가 될 수 있다.
프로퍼티 추가, 변경
- 오브젝트에 프로퍼티를 추가, 변경할 수 있다.
var obj = {}; obj.abc = 123;
- obj 오브젝트에 abc가 없으면 123이 추가되고, 있으면 프로퍼티 값이 123으로 변경된다.
작성 방법
- 점(.)과 프로퍼티 이름 사용하기
- 대괄호 사용하기
ex. obj["abc"]
: 문자열로 프로퍼티 이름을 작성하는 것. - 변수 이름 작성
ex. obj[abc]
2. Object 프로퍼티 열거
열거린 오브젝트의 프로퍼티를 읽는 것을 뜻한다.
프로퍼티 값 추출
var obj = { book: "책" }; var value = obj.book; var value = obj["sports"]; // 대괄호 안에 프로퍼티 이름 작성. undefined // book이 있으면 프로퍼티 값("책") 반환 // book이 없으면 undefined 반환
for~in
- 오브젝트에서 프로퍼티 열거
- 이때 열거는 처음부터 끝까지 모두 읽는 것을 말한다.
형태
for (변수 in 오브직트) 문장;
for (표현식 in 오브젝트) 문장;
// 예시 for (var item in sports) { log(item); log(sports[item]); }
- ES3에서는 프로퍼티를 작성한 순서대로 읽혀짐을 보장하지 않았다.
- ES5부터는 작성된 대로 순서대로 읽혀진다.
3. 빌트인(Built-in)
어디 안에서 만들어져 있는 것.
빌트인 개요
Built-in이란?
- 값 타입, 연산자, 오브젝트를 사전에 만들어 놓은 것.
- JS 코드를 처리하는 영역에 만들어져 있다.
장점
- 사전 처리를 하지 않고 즉시 사용할 수 있다. (-> 사전 처리를 해야 사용할 수 있는 것도 있다.)
- 이것이 자바스크립트의 매우 큰 특징이다.
빌트인
빌트인 값 타입
- Undefined
- Null
- Boolean
- Number
- String
- Object
* Null, Object는 typeof 연산자를 이용하여 출력하면 Object가 나온다.
빌트인 연산자(Operator)
- +, -, *, /, %, ++, --, new 등
빌트인 오브젝트 형태
JS에는 1n개의 빌트인 오브젝트가 있다. Number, String 등이 있다.
빌트인 Number 오브젝트
123과 같은 숫자, 상수, 지수를 처리하는 오브젝트이다.
여기서 오브젝트는 소문자 object이다.
지금까지 배운 대문자 Object는 {key: value} 형태로 데이터를 저장. 빌트인 오브젝트는 이미 {key: value} 형태로 만들어져 있는 것.
대문자는 데이터 저장에 중점, 소문자는 데이터 처리에 중점. 따라서 소문자 오브젝트에는 함수가 있다.
자바스크립트의 모든 구조는 전부 {name: value} 형태를 갖는다. 빌트인 오브젝트 안에는 value에 함수가 들어가기도 한다.
4. 빌트인 오브젝트 유형
JS에는 11개의 빌트인 오브젝트가 있다.
- Number 오브젝트: 123 같은 숫자, 상수, 지수
- String 오브젝트: 문자열, 분리, 연결
- Boolean 오브젝트: true, false 처리 위한 오브젝트
- Object 오브젝트: {key, value} 형태, 프로퍼티 처리 위한 오브젝트
- Array 오브젝트: 대괄호([]) 형태를 처리하기 위한 오브젝트
- Function 오브젝트: 함수를 지원하기 위한 오브젝트
- Math 오브젝트: abs(), round() 등의 수학 계산 위한 오브젝트
- Date 오브젝트: 연월일, 시분초 등 시간 처리 및 설정
- JSON 오브젝트: [{"name": "value"}] 형태, 서버와 데이터 송수신에 사용
- RegExp 오브젝트: ^, $와 같은 정규 표현식
- 글로벌 오브젝트: 소스 파일 전체에서 하나만 존재한다. 모든 코드에서 공유, 접근 가능하다. 전역 객체라고도 하지만 뉘앙스에 차이가 있다.
'개인 공부 > JavaScript' 카테고리의 다른 글
[자바스크립트 비기너] String 오브젝트 (0) 2021.11.05 [자바스크립트 비기너] Number 오브젝트 (0) 2021.11.05 [자바스크립트 비기너] 문장(Statement), 함수(Function) (0) 2021.10.14 [자바스크립트 비기너] 연산자(Operator) (0) 2021.10.14 [자바스크립트 비기너] 1. 기본 문법 (0) 2021.10.07