티스토리 뷰

javascript

[javascript] Object

tonirr 2020. 11. 2. 23:13
// object = { key : value };

// 1. Literals and properties
const ebj1 = {};    // 'object literal' syntax
const obj2 = new Object();  // 'object constructor' syntax


const name = 'ellie';
const age = 4;
print(name, age);
function print(person) {
    console.log(person.name);
    console.log(person.age);
    console.log(person.hasJob);
}

const ellie = {name: 'ellie', age: 4};
print(ellie);

ellie.hasJob = true;
print(ellie);

delete ellie.hasJob;
console.log(ellie.hasJob);

// Computed properties
// key sould be always string
console.log(ellie.name);
console.log(ellie['name']);
ellie['hasJob'] = true;
console.log(ellie.hasJob);

function printValue(obj, key) {
    console.log(obj[key]);
}
printValue(ellie, 'name');
printValue(ellie, 'age');

// 3.Property value shorthand
const person1 = {name: 'bob', age: 2};
const person2 = {name: 'steve', age: 2};
const person3 = {name: 'dave', age: 2};
const person4 = new Person('ellie', 30);
console.log(person4);

// 4. Constructor function
function Person(name, age) {
    // this = {};
    this.name = name;
    this.age = age;
    // return this;
    /*return {
        name,
        age,
    };*/
}

// 5. in perator: property existence check (key in obj)
console.log('name' in ellie);
console.log('age' in ellie);
console.log('hasJob' in ellie);

// 6. for...in vs for..of
// for (key in obj)
console.clear();
for(key in ellie) {
    console.log(key);
}

// for (value of iterable)
const array = [1, 2, 4, 5];
for(value of array ){
    console.log(value);
}

// 7. Fun cloning
// Object.assign(dext, [obj, obj2, obj3...])
const user = {name: 'ellie', age: '20'};
const user2 = user;
user2.name = 'coder';
console.log(user);
user2.name = 'coder';
console.log(user);

// old way
const user3 = {};
for(key in user) {
    user3[key] = user[key];
}
console.clear();
console.log(user3);

const user4 = {};
Object.assign(user4, user);
console.log(user4);

// another example
const fruit1 = {color: 'red'};
const fruit2 = {color: 'blue', size: 'big'};
const mixed = Object.assign({}, fruit1, fruit2);
console.log(mixed.color);
console.log(mixed.size);

'javascript' 카테고리의 다른 글

[javascript] json  (0) 2020.11.17
[Javascript] Array  (0) 2020.11.09
[javascript] 클래스와 오브젝트  (0) 2020.10.30
[javascript] 데이터타입  (0) 2020.10.22
[javascript] script 태그 위치  (0) 2020.10.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함