체인의정석

"errors is not iterable" 오류 처리기 본문

개발/backend

"errors is not iterable" 오류 처리기

체인의정석 2021. 12. 15. 23:14
728x90
반응형

nest.js 모듈을 써서 예외 처리를 하다가 보니 에러가 iterable하지 않는다는 말이 나와 찾아 보았다.

https://docs.w3cub.com/javascript/errors/is_not_iterable

 

Errors: Is Not Iterable - JavaScript - W3cubDocs

Errors: is not iterable The JavaScript exception "is not iterable" occurs when the value which is given as the right hand-side of for…of or as argument of a function such as Promise.all or TypedArray.from, is not an iterable object. Message TypeError: 'x

docs.w3cub.com

위의 사이트를 보면 Objects는 iterable 하지 않기 때문에

var obj = { 'France': 'Paris', 'England': 'London' };
for (let p of obj) { // TypeError: obj is not iterable
    // …
}

이런식으로 객체를 이터레이션 하면 에러가 나는 것을 확인할 수 있었다.

var obj = { 'France': 'Paris', 'England': 'London' };
// Iterate over the property names:
for (let country of Object.keys(obj)) {
    var capital = obj[country];
    console.log(country, capital);
}

for (const [country, capital] of Object.entries(obj))
    console.log(country, capital);

이럴땐 다음과 같이 Object.key나 Object.entries를 사용하면 된다고 한다.

 

728x90
반응형
Comments