변수와 상수

오민영·2023년 2월 16일
0

[2023] Javascript

목록 보기
1/4

문(statement)

어떤 작업을 수행하는 문법 구조(syntax structure)와 명령어(command)를 의미한다.

엄격 모드

지시자( use strict)

  • 이 지시자가 스크립트 회상단에 오면 스크립트 전체가 ‘모던한’ 방식으로 동작한다.
  • use strict 는 반드시 스크립트 최상단에 있어야 한다.
  • 클래스와 모듈을 사용해서 자바스크립트를 작성한다면, use strict 는 자동으로 적용된다.
"use strict";

// 이 코드는 모던한 방식으로 실행된다.
...

변수와 상수

변수(Variables)

변수는 데이터를 저장할 때 쓰이는 ‘이름에 붙은 저장소’ 이다. 온라인 쇼핑몰 애플리케이션을 구축하는 경우 상품이나 방문객 등의 정보를 저장할 때 변수를 사용한다.

JS 에서는 let 키워드를 사용해서 변수를 생성한다.

  • let - 모던한 변수 선언 키워드
  • var - 오래된 변수 선언 키워드로 잘 사용하지 않는다.
  • 변수 값을 변경하면, 이전 데이터는 변수에서 제거된다.
  • 변수 두 개를 선언하고, 한 변수의 데이터를 다른 변수에 복사할 수도 있다.
  • 변수는 한 번만 선언해야 하고, 같은 변수를 여러번 선언 (let) 하면 에러가 발생한다.
let message // 변수 선언
message = 'Hello!'; // 데이터 할당 (값 할당)

let message = 'Hello!'; // 변수를 정의하고 값을 할당합니다.

alert(message); // Hello!

---
// 변수 두 번 선언 시 에러 발생 
let message = "This";

// 'let'을 반복하면 에러가 발생합니다.
let message = "That"; // SyntaxError: 'message' has already been declared

변수 명명 규칙

  • 첫 글자는 숫자를 사용하지 않는다.
  • 변수명은 문자와 숫자, $와 _만 들어간다.
  • camelCase 기법을 흔히 사용한다 (myVeryLongName)
  • 예약어 목록에 있는 단어는 변수명으로 사용할 수 없다.

상수

변하지 않는 변수를 선언할 땐 let 대신 const를 사용한다.

  • const - let 과 비슷하지만, 변수의 값을 변경할 수 없다.
const myBirthday = '18.04.1982';

myBirthday = '01.01.2001'; // error, can't reassign the constant!

이렇게 const로 선언한 변수를 ‘상수(constant)’라고 부른다. 상수는 재할당할 수 없으므로 상수를 변경하고자 하면 에러가 발생한다.

변숫값이 절대 변경되지 않을 것이라 확신을 하면, 값이 변경되는 것을 방지하면서 다른 개발자들에게 이 변수는 상수라는 것을 알리기 위해 const를 사용해 변수를 선언하도록 한다.

대문자 상수

기억하기 힘든 값을 변수에 할당해 별칭으로 사용할 수 있다. 이런 상수는 대문자와 밑줄로 구성된 이름으로 명명한다.

즉, 대문자 상수는 하드 코딩한 값의 별칭을 만들 때 사용하면 된다.

const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";
const COLOR_BLUE = "#00F";
const COLOR_ORANGE = "#FF7F00";

// 색상을 고르고 싶을 때 별칭을 사용할 수 있게 되었습니다.
let color = COLOR_ORANGE;
alert(color); // #FF7F00

대문자로 상수를 만들어 사용하면 다음과 같은 장점이 있습니다.

  • COLOR_ORANGE는 "#FF7F00"보다 기억하기가 훨씬 쉽습니다.
  • COLOR_ORANGE를 사용하면 "#FF7F00"를 사용하는 것보다 오타를 낼 확률이 낮습니다.
  • COLOR_ORANGE가 #FF7F00보다 훨씬 유의미하므로, 코드 가독성이 증가합니다.

바람직한 변수명

  • 변수명은 간결하고, 명확해야 한다.
  • 변수가 담고있는 것이 무엇인지 잘 설명할 수 있어야 한다.
  • userName 이나 shoppingCart 처럼 사람이 읽을 수 있는 이름을 사용한다.
  • 어떤 목적을 명확히 알고 있지 않을 경우 외에는 a, b, c 와 같은 짧은 이름은 사용하지 않는다.
  • 최대한 서술적이고 간결하게 명명한다.
profile
이것저것 정리하는 공간

0개의 댓글