-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
대괄호를 작성하지 않았을때의 결과값이 '1 2 3' 이나옵니다.
20.10.20 23:49 작성 조회수 142
1
안녕하세요 강사님.
예제로 작성해주신 [코드1]를 작성해서 실행해보고 있는데,
console.log(...obj); 형태로 대괄호를 작성하지 않고, 실행을 해보았는데 마지막 3 만 반환되는게 아닌 '1 2 3' 이 출력됩니다. 제가 잘못한 걸까요?
const obj = {};
obj[Symbol.iterator] = function*(){
yield 1;
yield 2;
yield 3;
};
console.log(...obj);
답변을 작성해보세요.
2
김영보
지식공유자2020.10.21
체크 해보니 강좌를 만들때와 다르게 나오며 현재는 1, 2, 3이 반환되는 것이 맞습니다. 빨리 강좌를 편집해야 겠습니다.
한편, console.log(...obj) 형태로 호출할 수는 있으나 console.log()를 사용하지 않고 "const result = ...obj" 형태로 실행 결과를 받으려고 할 때는 문법 에러가 발생하므로 현실적으로는 ...obj 형태를 사용할 수 없습니다.
반면, "cosnt result = [...obj]" 형태는 호출이 되며 [1, 2, 3] 형태로 result 변수에 할당됩니다.
답변 1