반응형

Javascript(자바스크립트)

1. 자바스크립트의 변수종류(var, const, let)

  • var 변수는 ES6이전부터 사용한 문법입니다.
  • const, let변수는 ES6부터 추가된 문법입니다.

1.1 변수종류별 재선언, 재할당 여부

  • var 변수는 재선언, 재할당 모두 가능합니다.
  • const 변수는 재선언, 재할당 모두 불가능합니다.
  • let 변수는 재할당만 가능합니다.

1.1.1 변수 재선언

  • 동일한 이름을 가진 변수를 다시 선언하는 것을 말합니다.

      var fruit = 'apple'
    
      var fruit = 'orange'

1.1.1 변수 재할당

  • 이미 선언된 변수에 다른 값을 삽입하는 것을 말합니다.

      var fruit = 'apple'
    
      fruit = 'orange'

2. 변수의 범위(Scope)

  • 변수의 유효범위를 말합니다.
  • var 변수는 함수(funtion) 스코프를 가집니다.
  • const, let 변수는 블룩(block) 스코프를 가집니다.

2.1 함수 범위(funtion scope)

  • 함수( ) 내부에서만 유효한 스코프를 의미합니다.
function scopeTest(){

  if(true){             // 1번째 if문
    var num = 10;
  }

  if(true){             // 2번째 if문
    console.log(num);
  }

}

scopeTest();
  • var변수는 함수내부에서 선언된 전역변수처럼, 2번째 if문에서 num을 호출해도 정상적으로 10이 출력됩니다.
  • 즉 함수내부에서라면 블록{ } 내,외부 어디든지 참조할 수 있습니다.

2.2 블록 범위(block scope)

  • 중괄호{ } 내부에서만 유효한 스코프를 의미합니다.
function scopeTest(){

  if(true){             // 1번째 if문

  }

  if(true){             // 2번째 if문
    let num = 10;
    console.log(num);
  }

}

scopeTest();
  • const, let변수는 함수 범위와는 다르게 2번째 if문처럼 선언과 호출이 같은 블록{ }에 존재해야합니다.
  • 즉 블록{ } 내부 또는 하위 블록에서 참조할 수 있습니다.
반응형

'웹(Web)개발 > 5. Javascript' 카테고리의 다른 글

5. Javascript Ajax 통신  (0) 2020.10.12
4. Javascript 함수  (0) 2020.10.12
3. Javascript 비교, 분기, 반복  (0) 2020.10.12
2. Javascript 연산자, 타입  (0) 2020.10.12

+ Recent posts