JS중급_변수

Adrian·2022년 3월 1일
post-thumbnail

▶️ 변수란?

var name = 'kim';

변수는 자료의 정보를 임시로 저장하는 공간이다.


▶️ 변수의 선언

	var name;
	let age;
	const gender;

이렇게 var, let, const 키워드를 이용해 변수를 만들겠다고 선언할 수 있다. var키워드는 재선언이 가능하고, let, const는 재선언이 불가능하다. 이는 추후 변수 이름을 실수로 중복해서 만드는 실수를 방지해주는 고마운 기능이다.


▶️ 변수의 할당

var name; 
name = 'Kim';

이렇게 선언 후 할당할 수 있고,

var name; 
name = 'Kim';

할당과 선언을 동시에 할 수도 있다.

let name = 'park'; 
name = 'Kim';//가능

const gender = 'famale'; 
gender = 'male';//에러

그런데 변수를 var,let으로 만들면 재할당이 가능하고 const로 만들면 재할당이 불가능하다. const로 변수를 만들면 나중에 등호를 이용해 값을 변경하는게 불가능하다는 의미이다.

const obj = {name : 'Kim'}
obj.name = 'park';//가능

const변수에 오브젝트를 담으면 오브젝트 내의 데이터는 변경이 가능하다. 엄밀히 말하면 변수를 재할당한 것이 아니기 때문이다. 불변의 오브젝트를 만들고 싶다면 Object.freeze()라는 자바스크립트 기본함수를 이용하면 된다.


▶️ 변수의 범위

	function sayHi(){
    	var name = "Kim";
      	console.log(name + " " +'hi');//가능
    }

	console.log (name);//에러
	if (1 == 1){
    	let name = 'Kim';
        console.log(name);//가능
    }

	console.log(name);//에러
  
  1. var 변수는 function 내에서 만들면 function 내에서만 쓸 수 있다. function 밖에서 부르면 없다고 나온다.(함수스코프, 전역스코프)
  2. 위의 예제처럼 let 변수는 {}중괄호 안에서만 쓸 수 있다. const도 동일하다. (블록스코프)

더 많은 변수 관련 사항은 모던 자바스크립트 튜토리얼을 참고하자.

https://ko.javascript.info/variables

profile
관조, 사유, 끈기

0개의 댓글