티스토리 뷰
const dong = {
name : '멍멍이',
age : 2,
cute : true,
sample : {
a: 1,
b: 2,
}
};
console.log(dog.name); === 멍멍이
console.log(dong.age); === 2
name과 age는 키라고 한다.
공백이 있으면 안된다.
대신 ''이걸로 감싸주면 된다.
비구조화 할당 = 객체 구조분해
객체에서 특정 값들을 추출해내는 것
const ironMan = {
name : '토니 스타크',
actor : '로버트 다우니 주니어',
alias : '아이언맨'
};
const {name} = ironMan;
console.log(name);
function print(hero){
const { alias, name, actor } = hero;
const text = `${alias}(${name}) 역할을 맡은 배우는 ${actor}입니다.`
console.log(text);
}
function printf({ alias, name, actor}) {
const text = `${alias}(${name}) 역할을 맡은 배우는 ${actor}입니다.`
console.log(text);
}
객체 안에 함수 넣기
const dog = {
name : '멍멍이',
sound : '멍멍!',
say : function say(){
console.log(this.sound);
}
/*위의 function과 아래 function은 같은 것*/
say : function {
console.log(this.sound);
}
};
const cat = {
name : '야옹이',
sound : '야옹~'
};
cat.say = dog.say;
dog.say(); === 멍멍!
cat.say(); === 야옹~
객체안에 화살표 함수를 집어넣지는 않는다. 물론 집어넣을 수는 있지만 this를 사용하지 않는다
왜냐하면 화살표 함수에서는 this가 무엇인지 모르기 때문이다. 그래서 this를 사용하면 자신이 속해 있는 객체를
가리키는 것인지 몰라서 제대로 작동을 하지도 않고 오류가 나게 된다.
Getter와 Setter 함수
특정 값을 바꾸려고 하거나 특정 값을 조회하려고 할 때 원하는 코드를 실행 시킬 수가 있다.
const numbers = {
a: 1,
b: 2
get sum() {
console.log('sum 함수가 실행됩니다');
return this.a + this.b;
}
};
console.log(numbers.sum); //3
//함수의 형태이지만 조회를 했을 뿐인데 실행이 된다.
numbers.b = 5;
console.log(numbers.sum); //6
const dog = {
_name: '멍멍이', //_를 추가한 것은 set과 겹치지 않게 하려고 추가한 것
get name() {
console.log('_name을 조횝합니다..');
return this._name;
}; //이렇게 추가를 해주면 console.log에서 name을 조회할 때 _를 입력하지 않아도 된다.
set name(value) {
console.log('이름이 바뀝니다..' + value);
this._name = value;
}
};
console.log(dog._name); // 멍멍이
dog.name = '뭉뭉이'; // 이름이 바뀝니다..뭉뭉이
console.log(dong_name); // 뭉뭉이
const numbers = {
_a : 1,
_b : 2,
sum : 3,
calculate : function calculate(){
console.log('calculate');
this.sum = this._a + this._b;
},
get a(){
return this._a;
},
get b(){
return this._b;
},
set a(value){
this._a = value;
this.calculate();
},
set b(value){
this._b = value;
this.calculate();
}
}
console.log(numbers.sum);
numbers.a = 5;
console.log(numbers.sum);
//계산을 할 때마다 더하는 것이 아닌 변수의 값이 갱신이 될 때마다 합쳐줘서 조금 더 효율적이게 된다.
'온라인강의정리하기 > JS' 카테고리의 다른 글
선언적 함수와 익명 함수의 차이점 + arrow함수 (0) | 2019.10.29 |
---|---|
함수의 function과 new Function의 차이점 (0) | 2019.10.29 |
JavaScript의 조건문 (0) | 2019.08.29 |
JavaScript 연산자 기초 (0) | 2019.08.29 |
JavaScript 변수 기초 (0) | 2019.08.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 차이점
- C언어
- 정렬
- 객체
- visual studio code
- 글로
- TAG
- 생활코딩#MySQL
- 알고리즘
- GRID
- 선택자
- css
- inline
- 변수
- 생활코딩
- 관계형데이터베이스
- HTML
- 생활코딩#동영상을#글로#html
- 네트워크 프로그래밍
- PHP&MySQL
- 언리얼엔진4
- php
- 언리얼엔진
- 조건문
- javascript
- 문자열
- 안드로이드 스튜디오
- 동영상을
- Link
- 기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함