ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • javascript 변수
    Programming/javascript 2020. 6. 1. 14:49

    javascript는 대소문자 구분을 하며 유니코드 문자셋을 이용합니다.

    javascript 변수 선언 방법에는 3가지가 있습니다.

     

    변수는 var, let, const 키워드로 선언할 수 있습니다.

     

    1. var 키워드

    javascript 기존 키워드이며 function scope입니다.

     

    var name = "아무개";
    function changeName() {
    	name = "김철수";
    }
    console.log(name); // 아무개 출력
    changeName(); // name 변수값을 변경
    console.log(name); // 김철수 출력

    var 로 두번 같은 변수를 선언해도 에러가 발생하지 않습니다.

    var hello = "hello world";
    var hello = "hi! world";
    console.log(hello); // hi! world 가 출력된다

     

    test 변수를 선언하고 값을 할당한 후에 if 문안에서 다시 test 변수를 선언하고 값을 할당할 경우 if 문 안에서 할당한 값이 재저장 된다.

    var 는 funciton-scoped 이기 때문이다.

    var test = "처음값";
    if(true) {
    	var test = "두번째값";
    }
    console.log(test); // 두번째값 출력

    var 키워드는 사용하기 편하기도 하지만 유연성 때문에 에러가 발생할때 디버깅하기가 쉽지 않습니다.

     

    2. const 키워드

    const 는 ES6에 추가된 기능으로 block scope를 가지면 한번 할당된 값은 변경할 수 없습니다.

    const name = "홍길동";
    // const name = "아무개"; // 다시 변수를 선언할 수 없다
    // Uncaught SyntaxError: Identifier 'name' has already been declared
    // 같은 에러를 발생한다.
    
    const dog = "강아지";
    dog = "고양이"; // const 로 선언된 변수를 값을 재할당 할 수 없다
    // Uncaught TypeError: Assignment to constant variable.
    // 같은 에러를 발생한다.

    const color = "red";
    if(true) {
    	const color = "blue"; // const 는 block scope 이기 때문에 에러가 발생하지 않는다
        console.log(color) // blue 출력
    }
    console.log(color); // red 출력

    3. let 키워드

    let 은 ES6에 추가된 기능으로 const 와 마찬가지로 block scope를 가지며 선언된 변수에 값을 재할당 할 수 있습니다.

    let color = "red";
    let color = "black"; // 에러, 같은 변수를 선언할 수 없다.
    color = "green"; // let 은 값을 재할당 할수 있다.
    console.log(color); // green 을 출력한다.
    let color = "red";
    
    if(true) {
    	let color = "blue"; // let 은 block scope 이기 때문에 if문안에 color를 선언해도 된다.
      console.log(color); // blue 출력
    }
    
    console.log(color); // red 출력

    댓글

Designed by Tistory.