흙금이네 블로그

[자바스크립트 기본] 04. 변수와 상수 본문

TIL/JavaScript

[자바스크립트 기본] 04. 변수와 상수

흙금 2023. 1. 10. 00:49

 

 

자바스크립트에서는 변수 선원과 값 할당을 한 줄에 작성할 수 있다.

그러나 권장하는 방법은 아니며, 가독성을 위해 한 줄에 하나의 변수를 작성하는 것이 좋다.

let name = 'John', age = 27, message = 'Hello';
let name = 'John';
let age = 27;
let message = 'Hello';
let name = 'John',
    age = 27,
    message = 'Hello';

 

 

변수를 두 번 선언하면 에러가 발생한다.

let message = 'OK';

let message = 'Error';  // SyntaxError: 'message' has already been declared
let message = 'OK';

message = 'No Error';

 

 

참고로 Scala, Erlang과 같은 함수형 프로그래밍 언어는 변수 값 변경이 금지된다.

 

 

변수명에는 오직 문자와 숫자, 기호 $와 _만 들어갈 수 있으며, 숫자는 첫 글자에 오지 못한다.

let userName;
let test123;

let 123test;  // 불가능

 

여러 단어를 조합하여 변수명을 만들 때는 주로 카멜 표기법이 사용된다.

카멜 표기법은 첫 단어를 제외한 나머지 단어의 첫 글자를 대문자로 나타내는 표기법이다.

let camelCase;

 

 

변수명은 대소문자를 구분하며, 모든 언어를 변수명에 사용할 수 있으나 가급적 영어를 사용할 것을 권장하고 있다.

 

 

let, class, return 등의 예약어는 변수명으로 사용할 수 없다.

let let = 1;  // Error
let return = 2;  // Error

 

 

use strict를 사용하지 않으면 let 키워드를 사용하지 않고도 변수를 생성할 수 있다.

그러나 엄격 모드에서는 에러가 발생하므로 지양해야 한다.

num = 3;  // 엄격 모드에서는 'error: num is not defined'

 

 

상수는 const 키워드로 선언하며, 값을 재할당할 수 없다.

const myAge = 27;

myAge = 26;  // error, can't reassign the constant!

 

 

기억하기 어려운 값을 상수로 만들어 사용하기도 하는데, 이러한 상수의 이름은 관습적으로 대문자와 밑줄로 구성한다.

const COLOR_ORANGE = "#FF7F00";

let color = COLOR_ORANGE;
alert(color);  // #FF7F00

 

 

런타임 과정에서 계산되어 할당되는 상수는 일반적인 방식으로 변수명을 짓고,

코드 실행 이전에 이미 값이 정해져 있는(하드 코딩한) 상수는 대문자를 사용하여 변수명을 지으면 된다.

 

 

변수명은 사람이 읽을 수 있고, 명확한 경우를 제외하고는 가급적 줄임말이나 짧은 이름을 피하는 것이 좋다.

최대한 서술적이면서 간결하게 명명하면서 일관성 있고 팀 컨벤션에 맞게 변수명을 지어야 한다.

 

 

새로운 변수를 선언하지 않고 기존 변수를 재사용하는 것은 디버깅할 때 어려움을 야기한다.

모던 자바스크립트 압축기와 브라우저에서는 코드 최적화가 잘 이뤄져 변수 추가에 따른 성능 이슈가 없고,

값이 다른 경우에는 변수를 다르게 선언해주는 것이 오히려 코드 최적화에 도움이 될 수 있다고 한다.

 

 

 

참고

https://ko.javascript.info/variables

Comments