[JavaScript] 객체 기본
728x90
 

객체 : 관련된 데이터나 함수의 집합

객체 안에서는 데이터를 프로퍼티(속성), 함수를 메소드라고 한다.

let person = { name: ['Bob', 'Smith'], age: 32, gender: 'male', interests: ['music', 'skiing'], bio: function() { alert(this.name[0] + ' ' + this.name[1] + ' is ' + this.age + ' years old. He likes ' + this.interests[0] + ' and ' + this.interests[1] + '.'); }, greeting: function() { alert('Hi! I\'m ' + this.name[0] + '.'); } };

이 예시에서 프로퍼티(속성)은 name, age, gender, interests이며

메소드는 bio와 greeting이다.

위와 같은 객체를 객체 리터럴(object literal)이라 한다.

객체 리터럴: 연속된 구조체나 연관된 데이터를 일정한 방법으로 변환 시 사용됨.

ex) 서버에게 주소를 DB에 넣어달라고 요청.

- 각 아이템들을 하나씩 개별 전송하는 것보다 하나의 객체를 전송하는 것이 효율성이 높다.

- 각 아이템들을 이름으로 구분해서 사용할 때도 배열을 사용하는 것보다 쉽다.


객체 접근법 두가지 : 점 표기법, 괄호 표기법

점 표기법 예시)

person.name.first

person.name.last

괄호 표기법 예시)

person['age']

person['name']['first']


this 키워드

지금 동작하고 있는 코드를 가지고 있는 객체를 가리킨다.

-동적으로 객체 생성 시 유용하다.

예시)

let person1 = { name: 'Chris', greeting: function() { alert('Hi! I\'m ' + this.name + '.'); } } let person2 = { name: 'Brian', greeting: function() { alert('Hi! I\'m ' + this.name + '.'); } }

 

developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Basics

 

JavaScript object basics - Learn web development | MDN

In this article, we'll look at fundamental JavaScript object syntax, and revisit some JavaScript features that we've already seen earlier in the course, reiterating the fact that many of the features you've already dealt with are objects. Prerequisites: Ba

developer.mozilla.org

 

320x100