Javascript
TypeError: xxxxxxxxxxx is not iterable
codevil
2022. 5. 20. 15:53
dp나 bfs, dfs를 풀다보면 자주 보던 에러였다. cs를 공부하기전까지는, 이게 뭔 읽을수없데! (리터럴로 항상 잘못읽었다) 라고 생각했었는데, 지금와서 보니(최근에 코테를 보며 해결하면서 익히게 됬다). iterable에러를 내가 보통 낸경우는
for of를 사용할때 많이 발생했다. 이 에러는 왜 나타나는 걸까?
최근에 에러가 발생한 이유는, dp문제를 풀이를 할때
for(let x of list)
에서 list가 array가 아닌 undefined인 경우였다.
dp나 bfs, dfs에서 에러를 자주 보던 이유는, 이 두 케이스에서 list를 j in i 즉, 2차원으로 사용할 때, 범위를 잘못 설정해서 list에 대한 범위를 넣는 경우에 이 에러가 나타난 것이다. 이문제를 해결하는 방법은 두가지가 있다.
1. 범위를 날카롭게(정확하게) 바꿀 것.
2, 단축문(||false)과 조건문을 사용하여 범위를 벗어난 것을 배제하는 방법이다.
이 에러가 뜨면 항상 코드를 다시 작성했었는데, 이제 왜 작성하는지 알게되었다. 항상, 에러가 나타나면 안쪽부터 주석처리를 하면서 콘솔을 찍어보며 어느 부분이 문제가 생기는지 만드는 연습을 해야겠다
메모 : TDD 신경쓸 것