2019-03-07 TIL

2019-03-07

spread syntax

별건아니고

var obj = {
  a: "a",
  b: "b"
};
var str = "asdfqwer";
var arr = [11,22,33,44];

var newObj = {
  ...obj,
  ...str,
  ...arr
}
console.log(newObj);

다음과 같은 결과가 나온다.

"0":  11
"1":  22
"2":  33
"3":  44
"4":  "q"
"5":  "w"
"6":  "e"
"7":  "r"
"a":  "a"
"b":  "b"

...로 펼치는 대상은 iterable이어야 한다.

만약 다음처럼 선언 순서를 바꾼다면

var newObj = {
  ...obj,
  ...arr,
  ...str
}

다음과 같이 변한다.

"0":  "a"
"1":  "s"
"2":  "d"
"3":  "f"
"4":  "q"
"5":  "w"
"6":  "e"
"7":  "r"
"a":  "a"
"b":  "b"

순서상 나중에 선언한 변수의 key:value로 override 된다.

commonJS modules

나중에 막힐때 보자.


Minchang Kim
Minchang Kim
웹/앱 개발자 김민창입니다! 좋은 하루 되세요!