본문 바로가기
  • 사람은 무언가를 배울 필요가 있을때가 되서야 비로소 배우게 된다.
JavaScript

0의 Boolean을 이용한 n번 실행되는 반복문

by YoHaYo 2023. 10. 4.
728x90
반응형

자바스크립트에서는 0이 Boolean 값으로 변환될시 false가 되는 특성을 가지고 있습니다.

https://www.w3schools.com/jsref/jsref_type_conversion.asp

다음과 같은 예시코드로 확인할 수 있습니다.

const x = 0;

console.log("Number : " + Number(x)); // 0
console.log("String : " + String(x)); // 0
console.log("Boolean: " + Boolean(x)); // false

const y = 1;
console.log("Number : " + Number(y)); // 1
console.log("String : " + String(y)); // 1
console.log("Boolean: " + Boolean(y)); // true

 

이 특성을 이용해서 while 구문으로 n번 실행되는 반복문을 만들어보겠습니다. 

function test(n){
  while(n--){
    console.log(n,"실행")
  }
}
test(3); 

// 실행결과
// 2 '실행'
// 1 '실행'
// 0 '실행'

while은 조건이 true일때까지 무한루프를 실행합니다.

이때 후위 감소연산자 n--가 함수의 인자로 받은 값을 1씩 감산해 나갑니다.

그러다가 위에서 보다시피 0이 되면 false가 반환되어 무한루프는 종료되고 함수는 실행을 멈추게 되는 원리입니다.

 

※ 참고

이때 n--로 후위 감소연산자를 사용해야 n회 실행됩니다. 

만약 --n로 전위 감소연산자를 사용하면 n-1회 실행됩니다. 

그 이유는 다음 링크를 참고해주세요.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Decrement

 

감소 연산자 (--) - JavaScript | MDN

감소(--) 연산자 는 피연산자를 감소(1을 뺌)시키고 연산자의 위치에 따라 감소하기 전이나 후의 값을 반환합니다.

developer.mozilla.org

 

반응형

댓글