TIL 11 변수 선언하기

dory·2021년 3월 19일
1

TIL_JS

목록 보기
2/6
post-thumbnail

변수 선언하기

자바스크립트에서는 let이라는 키워드를 사용하여 변수를 생성한다.

만약 다음과 같이 선언했다면,

let message = 'hi!';

우리는 message를 입력하여 hi!라는 값을 불러올 수 있다.

let을 선언한 후, 변수의 이름과 값을 저정하면 메모리에 해당 값이 저장이 된다.

마치 우리가 박스에 물건을 넣는 것과 비슷하다고 이해하면 쉽다.
message라는 박스를 만들고 그 안에 원하는 물건 즉 입력 값을 넣을 수 있다. 이때 넣었던 값은 다른 값으로 교체가 가능하다.

변수 수정하기

let message = 'hi!';
    message = '안녕!';


-> 콘솔창에서 확인해보면, message는 더이상 'hi'가 아닌 '안녕'으로 바뀐 것을 알 수 있다.

👀 같은 변수를 여러 번 선언하면 error가 발생하므로 주의하자!

let message = 'hi!';

let message = '안녕!';// <- SyntaxError

변수 이름짓기

변수의 이름을 자유롭게 지을 수 있지만 몇 가지 주의할 점이 있다.
1. 변수명에는 오직 문자, 숫자, $, _만 사용할 수 있다.
2. 숫자로 변수명을 시작할 수 없다.
3. 예약어를 사용할 수 없다.
-> reserved name(예약어)은 이미 자바스크립트 언어 프로그램에서 사용되고 있기에 새로운 변수명으로 사용이 불가하다.
-> MDN 참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Lexical_grammar

👻 var를 쓰면 안되는 이유 👻
var를 사용해서 변수를 선언할 수 도 있다. 하지만 다음과 같은 이유로 사용을 지양해야한다.
1. var hoisting : var는 변수를 선언한 위치에 상관없이 값을 제일 위로 올린다.
-> 즉 선언하기도 전에 값이 나타난다는 것이다.
2. no block scope : block scope 밖에서도 값이 호출된다.

변수의 종류

  • primitive : single data
  • object : single data의 집합
  • function

primitive는 string, number, bigint, boolean, undefined, symbol가 해당된다. 그리고 모든 primitive(원시값)은 변형이 불가하다!

변수는 수정이 가능하다며?!

변수는 새로운 값으로 바꿀 수 있지만, 이미 선언한 값은 객체, 배열, 함수와 달리 변형할 수 없다.

->🖐 greeting은 여전히 'Hello'이다!
여기서 퀴즈!! 🤔

현재 score의 값은 무엇일까요??

4?? nono
값을 새로 지정하지 않는 한 여전히 3입니다!!

업데이트를 원한다면 꼭 = 잊지마세요~~


변하지 않는 값은??

수정이 가능한 값과 달리 고정된 값은 const라는 키워드로 선언된다.
const로 선언한 값은 수정하려하면 error가 나타난다.

const는 바꿀 수 없다는 점에서 다음과 같은 장점이 있다.

  • security
  • thread safety
  • reduce human mistakes

0개의 댓글