Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 배열
- dom
- IntersectionObserver
- scroll
- 고차함수
- async
- slice
- event
- Flex
- video
- 비동기
- animation
- This
- array
- Push
- 클로저
- ES6
- input
- object
- json
- 이벤트 루프
- Promise
- 문자열
- 이벤트 위임
- 이벤트
- 모듈
- ios
- ajax
- 스크롤
- 애니메이션
Archives
- Today
- Total
FEDev Story
[드림코딩][ES6] 자바스크립트 7. 오브젝트 넌 뭐니? | 프론트엔드 개발자 입문편 본문
'use strict';
// Objects
// one of the JavaScript's data types.
// a collection of related data and/or functionality.
// Nearly all objects in JavaScript are instances of Object
// object = { key : value };
const obj1 = {}; // 'object literal' syntax
const obj2 = new Object(); // '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(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: 3
};
const person3 = {
name: 'dave',
age: 4
};
const person4 = new Person('elile', 30);
console.log(person4);
// 4. Constructor Function
function Person(name, age) {
// this = {};
this.name = name;
this.age = age;
// return this;
}
// 5. in operator: property existence check (key in obj)
console.log('name' in ellie);
console.log('age' in ellie);
console.log('random' in ellie);
console.log(ellie.random);
// 6. for..in vs for..of
// for (key in obj)
console.clear();
for (let key in ellie) {
console.log(key);
}
// for (value of iterable)
const array = [1, 2, 4, 5];
for (let value of array) {
console.log(value);
}
// 7. Fun cloning
// Object.assign(dest, [obj1, obj2, obj3...])
const user = {
name: 'ellie',
age: '20'
};
const user2 = user;
console.log(user);
// old way
const user3 = {};
for (let key in user) {
user3[key] = user[key];
}
console.clear();
console.log(user3);
const user4 = Object.assign({}, 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에서 동일한 이벤트 리스너는 단 한 번만 등록하자 (0) | 2021.10.21 |
---|---|
[Javascript] 마우스 클릭 좌표 (screenX, clientX, pageX, offsetX) (0) | 2021.09.23 |
javascript get child index (0) | 2021.09.03 |
요소의 절대좌표 상대좌표 구하기 (0) | 2021.08.19 |
자바스크립트 insertAfter() 구현하기 (0) | 2021.08.18 |
Comments