Notice
Recent Posts
Recent Comments
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 |
Tags
- Append
- padStart
- 함수
- argument
- appendChild
- 공부일지
- combinator
- 상대경로
- document.querySelector
- 결합자
- 선택자
- padEnd
- TiL
- Let
- advancedwebranking
- 인자
- 복합선택자
- 절대경로
- 연결자
- function
- 코딩공부
- 속성선택자
- src
- Selector
- 생활코딩
- HTML
- CSS
- const
- object
- HTMLSTUDY
Archives
- Today
- Total
능히 할수있다!
[오류노트] 'OO' is not iterable at~ 본문
🚧 오류 내용
- 알고리즘 문제풀이 중 구조 분해 할당을 이용하려고 하자 아래와 같은 오류가 발생하였다.
🔎 분석
- 'iterable'이라는 것은 '반복 가능한'이라는 뜻으로, 내가 구조분해를 시도하려는 값이 올바른 유형이 아니라는 것이다.
이에 대해 알아보니 구조 분해를 하기 위해서는 iterable한 object가 필요하며, iterable object를 생성할 수 있는 생성자는
string, array, typedArray, map, set 등이 있다는 것을 알게되었다.
아래의 예시를 보면 iterable object가 아닌 number는 오류 발생하였고, iterable object인 string은 정상적으로
구조분해가 이루어진 것을 볼 수 있는데, 전자가 나의 경우였다.
var num = 142312;
console.log(typeof num); // Number
console.log([...num]); // Uncaught TypeError: num is not iterable at~
var str = '142312';
console.log(typeof str); // String
console.log([...str]); // ['1', '4', '2', '3', '1', '2']
🪄 문제 해결
- iterable object를 이용하면 간단하겠지만, 알고리즘상 number의 자리 수를 분해하는 과정이 필요하다면 우선 아래와 같이
number의 모습을 한 string array로 분해 한뒤, Number()함수를 통해 숫자로 변환하거나 각자 문제에 맞게 활용하면 된다.
var num = 142312;
console.log([...num + '']); // ['1', '4', '2', '3', '1', '2']
'STUDY > 오류노트' 카테고리의 다른 글
[오류노트]Uncaught TypeError: Assignment to constant variable. at'OO' (0) | 2023.06.08 |
---|---|
[오류노트]Uncaught SyntaxError: Unexpected end of input (at ~) (0) | 2023.06.06 |
[오류노트]Failed to execute 'createObjectURL' on 'URL'~ (0) | 2023.06.05 |
[오류노트]Uncaught SyntaxError: Illegal return statement (0) | 2023.06.05 |
[오류노트]Uncaught ReferenceError: Cannot access 'OO' before initialization at 'OO' (0) | 2023.06.05 |
Comments