const obj1 = {}; // objet literal 방식
const obj2 = new Object{}; // object constructor 방식
const Person = {
name : 'gyong',
age : 20
}
console.log(Person.name);
console.log(Person['name']);
Object의 'key'값을 어떻게 하면 변수값으로 넣을 수 있을까?!
function printValue(obj,key){
console.log(obj[key])
}
printValue(Person,'name');
특정 key값이 해당 Object에 존재하는가? T/F 반환
// in operator
console.log("name" in Person);
console.log("age" in Person);
for (key) in (object)
for (value in Person) {
console.log(value);
}
of
를 넣으면 에러가 발생한다.for (key) of (iterable)
const array = [1, 2, 3, 4, 5];
///for of
for (value of array) {
console.log(value);
}
const user = {name:'gyong', age = 20};
const user2 = user
위 구문의 경우, user2는 user와 같은 레퍼런스(주소)를 가리키게 되어, 어느 쪽의 값이 바뀌게 되면, 같은 주소를 공유하는 user나 user2의 값도 바뀌게 된다.
const user = { name: "gyong", age: 20 };
const user2 = user;
const user3 = Object.assign({}, user);
console.log(user3);
주의점!!
중복된 key값을 clone 하려 할 경우, 더 나중에 적용된 key의 value값이 clone 된다는 것 명심!
즉, 아래의 예제 에서는 color : 'yellow'가 결과값으로 찍힐 것이다!
const one = { color: "blue" };
const two = { color: "yellow", sky: "blue" };
const three = Object.assign({}, one, two);
console.log(three);