티스토리 뷰
// 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
링크
TAG
- 소프트웨어
- 알고리즘
- Stack
- 스텍
- 인접리스트
- 자료구조
- 최단경로
- 이진탐색
- server side rendering
- 운영체제
- C
- 재귀함수
- 입출력장치
- 인접행렬
- javascript
- dfs
- 세마포어
- C++
- client side rendering
- 구조체
- Java
- 병행프로세스
- 교착상태
- 배열
- BFS
- 퀵정렬
- 동적프로그래밍
- stackframe
- react
- 클래스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함