객체 지향 JavaScript — 오류 및 반복 가능
지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.
JavaScript는 부분적으로 객체 지향 언어입니다.
JavaScript를 배우려면 JavaScript의 객체 지향 부분을 배워야 합니다.
이 기사에서는 error 객체와 iterables를 살펴보겠습니다.
오류 개체
JavaScript는 오류가 발생하면 객체를 throw합니다
Error
.여기에는 다양한 생성자가 포함됩니다.
여기에는
EvalError
, RangeError
, ReferenceError
, SyntaxError
, TypeError
및 URIError
가 포함됩니다.이러한 모든 생성자는
Error
에서 상속합니다.try
블록 내에 오류를 발생시킬 수 있는 코드를 넣을 수 있습니다.그리고
catch
블록에서 오류를 잡을 수 있습니다.예를 들어 다음과 같이 작성할 수 있습니다.
try {
foo();
} catch (e) {
//...
}
foo
에서 오류가 발생하면 catch
블록이 오류를 포착합니다.e
오류 개체가 발생했습니다.e.name
로 이름을, e.message
로 메시지를 얻을 수 있습니다.오류 발생 여부에 관계없이 코드를 실행하기 위해
finally
절을 추가할 수 있습니다.예를 들어 다음과 같이 작성할 수 있습니다.
try {
foo();
} catch (e) {
//...
} finally {
console.log('finally');
}
ES6 반복자와 생성기
Iterator와 Generator는 ES6의 새로운 구조입니다.
이를 통해 다양한 유형의 반복 가능한 객체를 만들고 사용할 수 있습니다.
For… 루프의
for…of 루프를 사용하면 모든 종류의 반복 가능한 객체를 반복할 수 있습니다.
예를 들어 다음과 같이 작성하여 배열을 순환할 수 있습니다.
const iter = [1, 2];
for (const i of iter) {
console.log(i);
}
그런 다음 우리는 다음을 얻습니다.
1
2
루프 변수
const
를 다른 것에 재할당할 수 없도록 루프 제목에 i
를 사용했습니다.문자열과 같은 다른 반복 가능한 객체에 대해서도 동일한 작업을 수행할 수 있습니다.
for (const i of 'foo') {
console.log(i);
}
그런 다음 개별 문자를
i
의 값으로 얻습니다.for…of 루프는 반복에 사용됩니다.
반복자와 반복자
반복자는 컬렉션의 다음 항목을 가져오기 위해
next
를 노출하는 개체입니다.제너레이터 함수로 반복자를 만들 수 있습니다.
예를 들어 다음과 같이 작성할 수 있습니다.
function* genFunc() {
yield 1;
yield 2;
yield 3;
}
yield
는 next
를 호출하여 반복자에서 반환하려는 다음 항목을 반환합니다.next
를 호출하면 생성기 함수가 일시 중지됩니다.다음과 같이 작성하여 사용할 수 있습니다.
const gen = genFunc();
console.log(gen.next());
console.log(gen.next());
console.log(gen.next());
console.log(gen.next());
그런 다음 우리는 다음을 얻습니다.
{value: 1, done: false}
{value: 2, done: false}
{value: 3, done: false}
{value: undefined, done: true}
각
next
호출에서 생성된 각 항목을 얻습니다.value
는 산출된 값을 가지며 done
는 생성기가 값 생성을 완료했는지 여부를 알려줍니다.iterable은 반복 동작을 정의하는 객체입니다.
반복을 위해 for…of 루프와 함께 사용할 수 있습니다.
내장 iterable에는 배열과 문자열이 포함됩니다.
모든 반복 가능한 개체에는
@@itrerator
가 키로 포함된 속성이 있는 Symbol.iterator
메서드가 있습니다.next
메서드로 반복자를 반환해야 합니다.따라서 가장 간단한 방법은 생성기를 사용하여
next
를 호출하고 값을 반환할 수 있도록 하는 것입니다.다음과 같이 작성하여 iterable을 만들 수 있습니다.
const obj = {
*[Symbol.iterator]() {
yield 1;
yield 2;
yield 3;
}
}
그런 다음 다음과 같이 for…of 루프를 사용할 수 있습니다.
for (const i of obj) {
console.log(i);
}
그런 다음 우리는 다음을 얻습니다.
1
2
3
기록.
결론
배열 및 문자열과 같은 ES6 반복 가능한 객체는 반복자를 사용하여 해당 값을 반환합니다.
for…of 루프를 통해 반복할 수도 있습니다.
오류 개체는 모든 코드에서 throw될 수 있으며 try-catch-finally로 잡을 수 있습니다.
Reference
이 문제에 관하여(객체 지향 JavaScript — 오류 및 반복 가능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aumayeung/object-oriented-javascript-errors-and-iterables-4hei텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)