제어문에서의 유용한 자바스크립트 패턴
continue 이용하여 조건 중첩 줄이기
반복문 안에 조건문을 쓸 경우, 즉 특정 조건에서만 반복문을 써야 하는데 그때 continue 문을 써서 구조를 간결하게 할 수 있음
|
|
break, return 문으로 불필요한 연산 줄이기
뭔가를 찾기 위해서 루프를 실행했다면, 찾고 난 후에는 계속 실행할 필요가 없음
|
|
루프를 완료한 뒤 인덱스 값 사용하기
break문을 써서 루프를 일찍 종료했는데 인덱스 변수의 값이 필요할 때
|
|
이건 break문을 써서 루프를 끝내도록 해야만 사용할 수 있다고 한다.
배열을 수정할 때 감소하는 인덱스 사용하기
|
|
그 이외에 for루프를 좀 더 효율적으로 쓰기위한 패턴
이건 예전에 잠깐 패턴 공부할 때 나온적이 있는데 다시 살펴보도록 하겠음
|
|
보통의 for루프
이 패턴의 문제점은 루프 순회시 마다 배열의 length 에 접근한다는 점이다.
myArr이 배열이 아니라 HTMLCollection 이라면 이 때문에 코드가 느려질 수 있다.
HTMLCollection 의 length 속성에 접근할 때마다 실제 DOM 에 질의를 요청하는 것과 같으며 일반적으로 DOM접근은 비용이 크다.
따라서 이러한 비용을 줄이기 위해 배열의 length를 캐시하면 된다.
|
|
또한 i– 를 이용한 패턴이 있음1234 for(; var i = myArr.length; i--;){ console.log(myArr[i]);}