JavaScript의 Object를 조금 더 자세히 공부해보았다.
const 객체명 = {
property이름1: property1값,
property이름2: property2값
}
let obj = {
"my name" : '홍길동',
address : '서울특별시',
age : 24,
1 : "one"
}
console.log(obj["my name"]); // 홍길동
console.log(obj["address"]); // 서울특별시
console.log(obj["gender"]); // undefined
console.log(obj["age"]); // 24
console.log(obj["1"]); // one
const propertyName = "my name";
console.log(obj[propertyName]); // 홍길동
console.log(obj.my name); // error
console.log(obj.address); // 서울특별시
console.log(obj.gender); // undefined
console.log(obj.age); //24
console.log(obj.1); //error
const propertyName = "my name";
console.log(obj.propertyName); // undefined
//obj에는 propertyName이라는 프로퍼티가 없다.
obj.gender = "female";
obj.programming = function(){
console.log("개발자");
}
//호출
obj.programming();
obj.age = 34;
console.log(obf.age);
delete obj.address;
console.log(obj.address); // undefined
const hello = {};
const methodObj = {
do: function() {
console.log('메서드 정의');
}
}
//호출
methodObj.do();
const nestedObj = {
type: {
year: '2022',
'comment-type': [{
name: 'simple'
}]
}
}
console.log(nestedObj.type['comment-type'][0].name); // simple
→ nestedObj : 객체 명
→ nestedObj.type : year, comment-type 이 있는 객체
→ nestedObj.type['comment-type'] : nestedObj 객체의 type 객체의 comment-type 배열
→ nestedObj.type['comment-type'][0] : nestedObj 객체의 type 객체의 comment-type 배열의 첫번째 요소인 객체 선택
→ nestedObj.type['comment-type'][0].name : nestedObj 객체의 type 객체의 comment-type 배열의 첫번째 요소인 객체의 key값인 name 선택
const a = '안녕';
const b = '안녕';
console.log(a === b); //true
const hiObj = {
name: '안녕'
};
const helloObj = {
name: '안녕'
};
console.log(hiObj === helloObj); //false
const mutableObj = {
name: '객체'
};
mutableObj = {
name: '재할당'
//Uncaught TypeError: Assignment to constant variable.
}
mutableObj.name = '수정 됩니다!';
const information = {
name: '홍길동'
}
const key = 'job';
const value = 'developer';
information[key] = value // job : 'developer'
information.key = 'developer' // key : 'developer'
const information = {
name: '홍길동',
job : 'developer'
}
const keys = Object.keys(information) // (2) ['name', 'job']
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
const value = information[key];
console.log(value);
}
//홍길동
//developer
const values = Object.values(information);
// (2) ['홍길동', 'developer']
const entries = Object.entries(information);
/*
(2) ['name', '홍길동']
(2) ['job', 'developer']
*/
const arr = ['coconut', 'banana', 'strawberry', 'apple'];
for (let i = 0; i < arr.length; i++) {
console.log(i)
console.log(arr[i])
}
//위의 for문과 같은 코드!
for (let i in arr) {
console.log(i)
console.log(arr[i])
}
//0
//coconut
//1
//banana
//2
//strawberry
//3
//apple