
0개 이상의 statement들을 묶은 단위이다
블록문은 새로운 스코프를 만든다.
변수에 접근할 수 있는 유효 범위
//A구간
let x = 1;
{ //B구간
let y = 3;
}
B구간에서 A구간에 있는 변수에 접근 불가능하다.
이게 특징이다.
스코프가 어떻게 연결되어 있는지 나타내주는 것이다.
스코프는 스택(stack)의 후입선출과 같은 방식을 갖고 있다.
강의에서 보여준 메모리 관점이다.

전역변수는 코드 어디서든 접근 가능한 변수이지만 문제가 생길 위험이 높아서 전역변수 사용은 최소화하는 것이 좋다.
지역변수를 적극 활용하는 것이 메모리 절약에 도움된다.
if문을 사용할 때 권장하는 방식이 있었다.
함수를 선언하고 그 안에서 if문을 사용하는 것
function evalNum () {
const x = 21;
if (x % 2) {
console.log('홀수입니다.');
return;
}
if (x % 4) {
console.log('짝수입니다.');
return;
}
console.log('4의 배수입니다.');
}
evalNum();
console.log('블록문 바깥');
좋은 방법인 것 같아 나도 익혀보려고 한다.
객체와 배열의 for문은 살펴볼 필요가 있는 것 같다.
먼저 for로 객체와 배열을 도는 방식은 다르다.
객체 : for (key in object) / 배열 : for (항목 of 배열명)
이 방법이 좋은 것이 코드를 변형할 여지를 최소화 시켜준다고 한다.
반복문을 사용할 때 조건을 입력할 경우에 가독성이 좋게 코드를 짜는 방법을 설명해주셨다.
// 가독성 위주로 짠 코드
// 코드에 의도가 드러나도록
let x = 0;
while (x < 14) {
const toContinue = x % 2 === 0;
const toBreak = x > 7;
const xNow = x++;
if (toContinue) continue;
if (toBreak) break;
console.log(xNow);
}
솔직히 반복문은 다른 언어들과 다를게 없어서 크게 느낀 것은 없었다.
마지막에 반복문을 사용할 때 for of와 같은 방법을 적극 사용하면 조건을 따로 분리하여 사용하는 방식이 가독성이 훨씬 좋은 것 같다는 생각은 들었다.