5. 변수와 상수

Chipmunk_jeong·2021년 2월 6일
0

TIL

목록 보기
5/62
post-thumbnail

이 블로깅은 모던 JavaScript 튜토리얼을 공부하며 적는 글입니다.
모던 JavaScript 튜토리얼

변수

변수(variable)는 데이터를 저장할 때 쓰이는 '이름이 붙는 저장소' 입니다.
자바스크립트에선 let 키워드를 사용해 변수를 생성합니다.

//1. 변수의 선언
let message;

//2. 변수의 할당
message = 'hello';

//3. 변수의 호출
console.log(message);

//4. 한 줄에 여러 변수를 선언
let user='jin', age=10, email='we@d.com';

//5. 여러줄에 한번에 작성
let user="jin",
  age=10,
  email="we@d.com";

let 과 var

예전의 코드는 var키워드를 통하여 변수를 선언하였다.
var와 let의 차이는 현재 내가 알고있는 것으로는 scope의 차이다
let은 block단위인 반면에 var는 함수단위 scope여서 전역 및 지역변수의 범위가 서로 다르다. 또한 var는 재선언이 가능하여 혼란이 생길 수 있다.

변수 명명 규칙

  1. 문자와 숫자 그리고 '$', '-'만 들어갈 수 있다.
  2. 첫 글자는 숫자가 될 수 없다.
  3. 변수는 대소문자를 구분 한다.
  4. 예약어는 사용할 수 없다. -> let, return, for 등등
let userName; // o
let 1234 // x
let 2person // x
let user_name // o
let $ = 1; // o

user strict의 유무

num = 5;
console.log(num);  // 5가 출력이 된다. 즉, num은 유효하다.
'user strict'
num = 5;  // error: num is not defined
console.log(num);

user strict를 선언 안했을 때는 let이나 var 혹은 const키워드가 없어도 변수가 선언이 되고 값이 할당이 된다.
그 이유는 자바스크립트의 최상위에는 window라는 애가 존재하며 모든 작성된 코드는 결국 window라는 블록안에서 실행이 된다.
그래서 키워드를 없이 변수를 선언하게 되면 window의 변수로 전역변수가 된다.
하지만 user strict를 작성하면 위의 원리가 무시됨으로 에러를 발생하여 키워드의 필요성을 알려준다.

상수

항상 상
숫자 수
항상 같은 값을 가진 수 라는 뜻의 상수는 말 그대로 한번 가진값은 변경이 불가능 합니다. 키워드는 const를 사용합니다.

const PI = 3.141592;
let radius = 0;

const getResult = function(number) {
	radius = number;
    return radius * radius * PI;
}

상수는 값을 재할당 할수가 없다.
물론 Reference타입의 값은 변경이 가능하지만 이것은 원시자료형과 참조형을 할때 자세히 적어놓겠다.
지금은 const키워드로 작성된 변수는 재할당이 불가능하다는 점이고 이름은 대문자로 이루어져있어야한다.

profile
Web Developer

0개의 댓글