개념
<script>
/*
[변수의 생명 주기 오류]
- 아래 코드에서 변수 c는 조건문 내부에서만 정의되어 있지만,
- 이후 코드에서도 c에 접근하려고 하고 있습니다.
- 그러나 변수 a가 5 이상인 경우, if문이 실행되지 않아서
- 변수 c는 정의되지 않은 상태가 됩니다.
- 이로 인해 document.write(c)에서 오류가 발생합니다.
- 따라서 if문 내부에서 정의된 변수를 if문 밖에서도 사용하려면,
- 변수를 미리 if문 외부에서 선언해두는 것이 안전합니다.
- 아래 코드는 오류가 발생하며, 이 문제는 다음 단원에서 해결해보겠습니다.
*/
let a = 10;
let b = 35;
if(a < 5) {
let c = b - 10;
}
// 오류가 발생합니다. (c가 정의되지 않음)
document.write(c);
</script>
HTML
복사