개인 공부/JavaScript

[자바스크립트 비기너] 오브젝트, 빌트인

240 • 사공이 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으로 변경된다.

작성 방법

  1. 점(.)과 프로퍼티 이름 사용하기
  2. 대괄호 사용하기 ex. obj["abc"]: 문자열로 프로퍼티 이름을 작성하는 것.
  3. 변수 이름 작성 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 오브젝트: ^, $와 같은 정규 표현식
  • 글로벌 오브젝트: 소스 파일 전체에서 하나만 존재한다. 모든 코드에서 공유, 접근 가능하다. 전역 객체라고도 하지만 뉘앙스에 차이가 있다.