- 객체 정의와 필요한 이유, property, key, value
- 객체의 값에 접근하는 두 가지 방법이 있는 이유와 사용 방법
- 객체의 값을 추가, 수정, 삭제
- 객체와 배열이 혼합되어 있는 데이터에서 원하는 값에 접근
- 배열의 타입이 객체인 이유
속성(property)
을 가진 자바스크립트의 기본 데이터 타입‘키(key): 값(value)’
쌍으로 구성된 속성(property) 여러 개를 넣을 수 있음. 속성(property)
: 키와 값을 묶어서 부르는 단위라고 생각메소드(method)
: 객체의 속성 중에 함수 자료형인 속성을 메소드라고 부름키(key)
: 문자형. '이름' or '식별자'라고도 부름값(value)
: 모든 자료형 가능쉼표(,)
로 구분객체 리터럴(Object Literal) : 변수처럼 객체를 선언하는 방식.
let obj = { key: value, ... }
생성자 함수(Constructor)
new Object()
: new 연산자를 통해 Object객체의 생성자함수를 호출
new 생성자()
: Number, String, Array 등의 내장 객체도 생성
let myName = "MinhoKim"
let myHeight = "200cm"
let myWeight = "150kg"
.
.
.
let myHobby = "sleeping"
나라는 객체의 그 많은 속성들을 이렇게 표현하는 것은 쉬운 일이 아닐 것이고, 나같은 객체가 10, 100, 1000명이 된다면 사실상 이렇게 표현하는 것은 불가능할지도 모른다. 이럴 때 객체가 쓰이는 것 같다.
let MinhoKim = {
myName : "MinhoKim",
myHeight : "200cm",
myWeight : "150kg",
.
.
.
let myHobby = "sleeping",
이렇게 하나의 객체로 묶어서 나를 표현하면 다양한 속성에 접근, 수정, 추가, 삭제도 용이해지고 가독성도 좋아진다는 점에서 효율적인 데이터 처리라고 생각한다.
https://youngban.tistory.com/46
https://codeburst.io/javascript-quickie-dot-notation-vs-bracket-notation-333641c0f781
객체["key"] = "value"
객체.key = "value"
function addProperty() {
// 아래의 코드는 수정하지마세요.
let myDog = {
"name": "Happy Coder",
"legs": 4,
"tails": 1,
"friends": ["Wecode Bootcamp"]
};
// 아래에 코드를 작성해주세요.
myDog["bark"] = "woof"
// 아래의 코드는 수정하지마세요.
return myDog;
}
console.log(addProperty())
객체["key"] = "value"
객체.key = "value"
delete 객체.속성
let dog= {
이름 : '바둑이',
나이 : '5살',
성별 : '남',
취미 : '밤에 산책하기',
}
delete dog.이름
console.log(dog)
//
[object Object] {
나이: "5살",
성별: "남",
취미: "밤에 산책하기"
}
function accessArray() {
//아래의 코드는 수정하지마세요.
let myPlants = [
{
type: "flowers",
list: [
"rose",
"tulip",
"dandelion"
]
},
{
type: "trees",
list: [
"fir",
"pine", 🔴
"birch"
]
}
];
// 아래에 코드를 작성해주세요.
let foundValue = myPlants[1]["list"][1] // 🔴
// 아래의 코드를 수정하지마세요.
return foundValue;
}
console.log(accessArray())
// pine 🔴