객체 내부에 있는 값 하나하나는 속성(Propetty)라고 한다.
배열처럼 객체도 다양한 자료형을 입력할 수 있다.
let object = {
number: 273,
string: 'RintIanTta',
boolean: true,
array: [52,273,103,72],
method: function(){
...//객체의 속성 중 자료형이 함수인 것을 Method라고 한다.
}
}
객체에 있는 속성을 메소드에서 사용하고 싶을 경우에는 자신이 가진 속성임을 표시하기 위해 this키워드를 사용한다.
let food = {
name: '바나나',
price: 1200,
print: function(){
console.log(`${this.name}의 가격은 ${this.price}원 입니다.`)
}
};
food.print();
실행 결과
바나나의 가격은 1200원 입니다.
배열과 객체를 사용하면 방대한 양의 데이터를 쉽게 다룰 수 있다.
아래처럼 자바스크립트의 형태로 데이터를 표현하는 것을 json 이라고 한다.
let product = {
{ name: '바나나', price: 1200},
{ name: '사과', price: 2000},
{ name: '배', price: 3000},
{ name: '포도', price: 1500},
{ name: '수박', price: 12000},
{ name: '토마토', price: 2000}
}
class 클래스는 동일한 형태의 객체를 쉽게 만들 수 있게 해주는 문법 이다.
클래스 선언 방법
class Product { //클래스 선언
constructor (name, price){ //생성자
this.name = name; //매개 변수 기반으로 name
this.price = price; //price 속성을 만든다.
}
print(){ //메소들르 추가함
console.log(`${this.name}의 가격은 ${this.price}원 입니다.`)
}
}
let product1 = new Product(); //객체 생성,
//클래스를 기반으로 만들어지는 객체 => 인스턴스(Instance)
let product2 = new Product("바나나", 1200); // 생성자가 매개 변수로 name과 price를 받아 집어 넣어줌
console.log(product2.name); //인스턴스 속성에 접근함
console.log(product2.price); //인스턴스 속성에 접근함
product2.print():
실행 결과
바나나
1200
바나나의 가격은 1200원 입니다.