변수와 상수

김하은·2023년 4월 19일
0

변수란 데이터를 저장하는 저장소.
자바스크립트에서는 let을 사용해 변수를 생성한다.

let apple;

apple이라는 변수를 생성하였다.

여기서 할당연산자 =을 사용하여 변수 안에 데이터를 저장할 수 있다.

apple = 3;

숫자가 변수와 연결된 메모리 영역에 저장되어 변수명을 사용해 이 숫자에 접근할 수 있다.

이렇게 변수를 생성한 뒤 값을 할당하는 방법 외에 선언과 하ㅣㄹ당을 한줄에 작성하는것도 가능하다.

let apple2 = 34

한줄에 여러 변수를 선언할 수도 있다.

let user = 'Jhon' , age = 13 , message = 'Hello~~'

그러나 이렇게 한줄에 작성하는것은 가독성에 좋지 않으므로 권장하지는 않는다.
주로

let user = 'Jhon';
let age = 13;
let message = 'Hello~~';

이렇게 적는것이 가독성에 좋지만,

let user = 'Jhon',
    age = 13,
    message = 'Hello~~'

이렇게 적기도 하고,

쉽표를 앞으로 빼서

let user = 'Jhon'
	, age = 13
	, message = 'Hello~~'

이렇게 작성하기도 한다.


변수를 선언하는 것에서 var을 사용하는것을 가끔 볼 수 있다.
거의 동일하게 작동하지만 var은 호이스팅 문제가 있어 요즘은 사용하지 않는 방식이다.(선언전에 할당이 가능하는 것 등)

이 변수라는 상자안에 어떤 값이던 넣을 수 있고, 값이 변경되면 이전 데이터는 변수에서 제거된다.

변수 두개를 선언하고 한 변수의 데이터를 다른 변수에 복사할 수도 있다.

let laba = 'hi laba';
let laba2;
laba2 = laba;
// laba2 = 'hi laba';

함수형 프로그래밍 언어.
함수형 프로그래밍 언어는 변수값 변경을 금지한다.
스칼라(Scala), 얼랭(Erlang)은 대표적인 함수형 언어이다.
이 함수형 언어는 일단 변수에 값이 저장되면 그 값을 영원히 유지하며 다른 값을 저장하고 싶다면 새 변수를 선언해야 한다.


변수 만들기 규칙

  • 변수명에는 숫자와 문자 그리고 기호 $_ 만 들어간다.
  • 첫 글자는 숫자가 될 수 없다.
  • 여러 단어를 조합해 변수명을 만들 때에는 보통 카멜표기법(camelCase)를 사용한다.
  • 하이픈(-)은 변수명에 사용할 수 없다.
  • 상형 키릴문자(러시아어), 상형문자도 변수명에 사용할 수 있으나 영어를 사용하는것이 관습니다 변수명은 영어로 사용한다.

예약어
let, const, class, return, function 등 이미 자바스크립트에서 사용되고 있는 단어를 예약어라고 한다.
이 예약어를 변수명으로 사용할 경우 에러를 발생시킨다.

예전에는 let이 없이도 단순히 값을 할당해 변수생성하는것이 가능했다.
use strict를 사용하지 않는다면 과거 스크립트와의 호환성이 유지되기 때문에 let이 없이 변수를 할당할 수 있다.(선언 없이 값 할당 가능)

그러나 엄격모드에서는 에러를 발생시킬 수 있으니 반드시 선언 해주는 것을 잊어서는 안된다.


상수

상수란, 변하지 않는 수를 의미한다.
변하지 않는 변수를 선언할 때는 const를 사용한다.
const 로 할당한 변수를 상수라고 하며 상수는 재할당이 불가하기에 상수를 재할당(변경)하려고 하면 에러를 발생 시킨다.
하드코딩한 값의 별칭을 만들 경우에는 대문자 상수를 사용한디.


바람직한 변수명

  • 간결할 것
  • 명확할 것
  • 사람이 읽을 수 있는 이름일 것
  • 최대한 서술적이고 간결하게 명명할 것
  • 나만의 규칙이나 소속된 팀의 규칙을 따를 것
  • 변수를 재사용하는것 보다는 변수를 추가 하는것이 더 좋음.

(변수는 변할수 있는 수를 , 상수는 변할수 없는 수를 얘기 하는데 보통은 변수라고 통틀어 이야기를 한다.)

0개의 댓글