/*const name = 'ellie';
const age = 4;
print(name, age);
function print(name, age) {
console.log(name);
console.log(age);
}
const ellie = { name: 'ellie', age: 4 }; 오브젝트로 관리*/
const obj1 = {}; // {} = 'object literal' syntax
const obj2 = new Object(); // new = 'object constructor' syntax
function print(person) {
console.log(person.name);
console.log(person.age);
}
const ellie = { name: 'ellie', age: 4 };
print(ellie);
// with JavaScript magic (dynamically typed language)
// can add properties later
ellie.hasJob = true;
console.log(ellie.hasJob);
// can delete properties later
delete ellie.hasJob;
console.log(ellie.hasJob);
2. 계산된 프로퍼티 : Computed properties
// key should be always string
console.log(kelly.name); // 코딩할 때
console.log(kelly["name"]); // 정확하게 어떤 키가 필요한지 모를 때
kelly["hasJob"] = true;
console.log(kelly.hasJob);
function printValue(obj, key) {
console.log(obj[key]);
}
printValue(kelly, "name");
printValue(kelly, "age");
3. Property value shorthand : key와 value의 값이 같을 때 생략 가능한 기능