JavaScript 2.4

2 minute read

변수와 상수

  • 대다수의 자바스크립트 애플리케이션은 사용자나 서버로부터 입력받은 정보를 처리하는 방식으로 동작한다.
  • 변수는 이렇게 입력받은 정보를 저장하는 용도로 사용된다.

변수(variable)

  • 변수는 데이터를 저장할 때 쓰이는 ‘이름이 붙은 저장소’이다.
  • 자바 스크립트에선 let 키워드를 사용해 변수를 생성한다.

  • 아래 코드는 message라는 이름을 가진 변수를 생성(선언)한다.
let message;
  • 할당 연산자 =를 사용해 변수 안에 데이터를 저장한다.
let message;

message = 'Hello'; // 문자열을 저장합니다.
  • 문자열이 변수와 연결된 메모리 영역에 저장되었기 때문에 변수명을 이용해 문자열에 접근할 수 있다.
let message;
message = 'Hello!';

alert(message); // 변수에 저장된 값을 보여줍니다.
  • 변수 선언과 값 할당을 한 줄에 작성할 수도 있다.
let message = 'Hello!'; // 변수를 정의하고 값을 할당합니다.

alert(message); // Hello!
  • 한 줄에 여러 변수를 선언하는 것도 가능하다.
    • 하지만 가독성을 위해 한 줄에는 하나의 변수만 작성하는 것을 권장한다.
let user = 'John', age = 25, message = 'Hello';

// 가독성
let user = 'John';
let age = 25;
let message = 'Hello';
  • 변수 정의에는 여러 방식이 있다.
let user = 'John',
  age = 25,
  message = 'Hello';
  
let user = 'John'
  , age = 25
  , message = 'Hello';

let 대신 var

  • var 는 오래된 방식이다.
    • let과 거의 동일하게 동작한다.
var message = 'Hello';

현실 속 비유

  • 상자 안에 데이터를 저장하는데 상자에 특별한 이름표가 붙어있다.
  • 상자 속엔 어떤 값이든 넣을 수 있고 원하는 만큼 값을 변경할 수 있다.
  • 값이 변경되면 이전 데이터는 변수에서 제거된다.
let message;

message = 'Hello!';

message = 'World!'; // 값이 변경되었습니다.

alert(message);
  • 변수 두개를 선언하고 한 변수에 데이터를 다른 변수에 복사할 수도 있다.
let Hello = 'Hello world!';

let message;

// Hello의 'Hello world' 값을 message에 복사합니다.
message = Hello;

// 이제 두 변수는 같은 데이터를 가집니다.
alert(Hello); // Hello world!
alert(message); // Hello world!
  • 변수를 두번 선언하면 에러가 발생한다.
let message = "This";

// 'let'을 반복하면 에러가 발생합니다.
let message = "That"; // SyntaxError: 'message' has already
  • 함수형 프로그래밍 언어는 변숫값 변경을 금지한다.
    • 스칼라, 얼랭이 대표적인 함수형 언어이다.

변수 명명 규칙

  • 자바 스크립트에선 두 가지 제약 사항이 있다.
    • 변수명에는 오직 문자와 숫자, 그리고 기호 $와 _만 들어갈 수 있다.
    • 첫 글자는 숫자가 될 수 없다.
  • 대소문자는 구별된다.
  • 예약어는 변수명으로 사용할 수 없다.
    • 예시 : let, class, return, function
  • 변수는 대개 정의되어 있어야 하지만 단순히 값을 할당해 변수를 생성하는 것이 가능하다.
    • Use strict를 사용하지 않아야 한다.

상수

  • 변화하지 않는 변수를 선언할 때는 let 대신 const 를 사용한다.
  • const로 선언한 변수를 상수라고 부른다. 상수는 재할당할 수 없으므로 상수를 변경하려고 하면 에러가 발생한다.

  • 대문자 상수

    • 기억하기 힘든 값을 변수에 할다해 별칭으로 사용할 수 있다.
    • 이런 상수는 대문자와 밑줄로 구성된 이름으로 명명한다.
  • 변수명은 간결하고 명확해야 하며 담고 있는 것이 무엇인지 잘 설명할 수 있어야 한다.