[TCP School/자바스크립트] 객체 - 객체의 개념

2023. 4. 19. 12:11

객체(Object)란 실생활에서 우리가 인식할 수 있는 사물을 표현한 것이라고 생각하면 된다.

 

사람이라는 객체가 있을 때

사람.나이

사람.성별

사람.이름

이라는 프로퍼티(property)가 있을 것이고

 

사람.일()

사람.식사()

사람.수면()

이라는 메소드(method)가 있을 것이다.

 

사람이면 모두 공통적으로 위의 프로퍼티와 메소드가 존재하겠지만, 각자 그 값들이 서로 다를 것이다.


자바스크립트의 객체

자바스크립트의 기본 타입(data type)은 객체이다.

 

객체란 이름(name)과 값(value)으로 구성된 프로퍼티의 정렬되지 않은 집합을 의미한다.

프로퍼티의 값으로 함수가 올 수도 있는데, 이러한 프로퍼티를 메소드라고 한다.

var man = '김철용'

var person = { name: '김철용', age: 25, sex: male };

man  // 김철용
person.age  // 25

 

자바스크립트에서는 숫자, 문자열, 불리언, undefined 타입을 제외한 모든 것이 객체이다.

하지만 숫자, 문자열, 불리언과 같은 원시 타입은 값이 정해진 객체로 취급되어, 객체로서의 특징도 함께 가지게 된다.


객체의 프로퍼티 참조

자바스크립트에서 객체의 프로퍼티를 참조하는 방법은 다음과 같다.

객체이름.프로퍼티이름
or
객체이름['프로퍼티이름']

 

var person = {
    name: '김철용',
    birthday: '970930',
    pId: '1234567',
    fullId:
    function() {
        return this.birthday + this.pId;
    }
}

person.name  // 김철용
person['name']  // 김철용

객체의 메소드 참조

자바스크립트에서 객체의 메소드를 참조하는 방법은 다음과 같다.

객체이름.메소드이름()

 

var person = {
    name: '김철용',
    birthday: '970930',
    pId: '1234567',
    fullId:
    function() {
        return this.birthday + this.pId;
    }
}

person.fullId();  // 9709301234567
person.fullId;  // function() { return this.birthday + this.pId; }

메소드를 참조할 때 메소드 이름 뒤에 ()를 붙이지 않으면, 메소드가 아닌 프로퍼티 그 자체를 참조하게 된다.

따라서 괄호를 사용하지 않고 프로퍼티 그 자체를 참조하게 되면 해당 메소드의 정의 그 자체가 반환된다.


TCP School의 강의 내용을 정리한 포스트입니다.

http://www.tcpschool.com/javascript/intro

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

BELATED ARTICLES

more