
객체 : 키(key), 값(value)으로 이루어진 데이터 구조이다.
배열은 연관된 값들을 나열
객체는 키, 값으로 이루어져있음
데이터를 저장하고 조작할 수 있다.
키 : 문자형
값 : 모든 자료형 허용
let user = new Object();
// '객체 생성자' 문법
let user = {};
// '객체 리터럴' 문법
✔️new 연산자, 생성자 함수
객체 여러 개를 쉽게 만들 수 있다
1. 함수 이름 첫 글자는 대문자로 시작
2. 반드시 new 연산자 붙여 실행한다
❗️모든 함수는 생성자 함수가 될 수 있다
new 연산자를 붙이면 어떤 함수라도 알고리즘 실행 가능
✔️속성
키와 값 쌍으로 연결하는 객체 구성원
임의의 자바스크립트 값이 될 수 있다
✔️객체
여러 개의 속성을 갖는 데이터 타입
속성 모음을 저장하는 데이터 구조(속성 컬렉션)
k:v
자바스크립트에서의 객체 : 유일한 변경 가능한 값
✔️마침표 표기법 vs 대괄호 표기법
name.firstName
name[’firstName’]
let obj = {};
obj["name"] = "홍길동";
obj.age = 10;
console.log(obj);
// { name: '홍길동', age: 10 }
console.log(obj["name"]); // 홍길동
console.log(obj.age); // 10
let obj = {};
obj["name"] = "홍길동";
obj.age = 10;
console.log(obj);
// { name: '홍길동', age: 10 }
delete obj.age;
console.log(obj); // { name: '홍길동' }
let obj = {};
obj["name"] = "홍길동";
obj.age = 10;
console.log(obj);
// { name: '홍길동', age: 10 }
obj["name"] = "이순신";
console.log(obj); // { name: '이순신' }
let user = { // 객체
name: "홍길동", // 키: "name", 값: "홍길동"
age: 10 , // 키: "age", 값: 10
"hello apple" : true
// 복수 단어는 따옴표로 묶어야 한다
};
console.log(user.name); // 홍길동
console.log(user["hello apple"]); // true
// 키에 공백 포함되어 있으면 대괄호 표기법
delete user.age;
console.log(user);
delete user["hello apple"];
console.log(user);
user.name = "소나무";
console.log(user); // { name: '소나무' }
user["hello apple"] = "orange";
console.log(user)
let obj = {
name : 1,
b: {
c:2,
d:"hello",
e:{
a:3,
d:"hi"
}
}
};
console.log(obj);
let obj = {
name : 1,
b: {
c:2,
d:"hello",
e:{
a:3,
d:"hi"
}
}
};
console.log(obj.b.e);
// "a": 3, "d": "hi"
obj.b.e.f = 100;
console.log(obj.b.e)
// "a": 3, "d": "hi", "f": 100
delete obj.b.e.a;
console.log(obj.b.e)
// "d": "hi", "f": 100
let obj = {
name : 1,
b: {
c:2,
d:"hello",
e:{
a:3,
d:"hi"
}
}
};
console.log(obj.b.e);
// "a": 3, "d": "hi"
obj.b.e.f = 100;
console.log(obj.b.e)
// "a": 3, "d": "hi", "f": 100
delete obj.b.e.a;
console.log(obj.b.e)
// "d": "hi", "f": 100
let person = {
name : "홍길동",
age : 20
}
let name = person.name
let age = person.age
let age = person.['age']
// es6
let {name,age} = person