객체는 여러 개의 자료형을 한 번에 저장하는 자료형이다.
배열
은 요소에 접근할 때 인덱스
를 사용하고, 객체
는 키
를 사용한다.
// 객체 선언
let product = {
제품명: '7D 건조 망고',
유형: '당절임',
성분: '망고, 설탕, 메타중아황산나트륨, 치자황색소',
원산지: '필라핀'
};
// 출력
console.log(product);
키 | 속성 |
---|---|
제품명 | 7D 건조 망고 |
유형 | 당절임 |
성분 | 망고, 설탕, 메타중아황산나트륨, 치자황색소 |
원산지 | 필라핀 |
product['제품명']
product.제품명
식별자 생성 규칙에 어긋나는 문자를 키로 사용할 때에는 반드시 대괄호
를 사용해야 객체의 요소에 접근할 수 있다.
대괄호가 아니라 점을 찍어 사용하면 자바스크립트 문법 오류가 발생하게 된다.
생성한 객체에는 for in
반복문으로 반복을 적용할 수 있다.
// 객체 선언
let object = {
name: '바나나',
price: 1200
};
// 출력
for(let key in object) {
console.log(`${key}: ${object[key]}`);
}
실행결과
name: 바나나
price: 1200
배열 내부에 있는 값 하나하나
객체 내부에 있는 값 하나하나
자바스크립트를 사용하면 데이터를 문자로 쉽게 표현할 수 있기 때문에 많은 프로그래밍 언어에서 데이터 통신을 할 때 활용한다.
이렇게 자바스크립트의 객체 형태로 데이터를 표현하는 것을 JSON
(JavaScript Object Notation)이라고 한다.
한 객체의 속성과 기능은 한 객체를 기준으로 처리할 수 있게한다
는 규칙성을 지키며 코드를 작성해야 한다.
class Product{
}
new 클래스_이름()
클래스를 기반으로 만들어지는 객체
생성자는 클래스 내부에 constructor라는 이름의 함수를 만들어서 활용한다.
클래스 내부에 함수(메소드)를 만들 때는 앞에 function 키워드를 따로 붙이지 않는다.
class Product {
constructor (name, pice) {
}
}
let product = new Product("바나나", 1200);
클래스의 메소드 내부에서 this
키워드는 클래스를 기반으로 만들어지는 객체를 의미한다.
false
로 변환되는 것: 0, NAN, ""(빈문자열), null, undefined