쫑가 과정

Variable 본문

JavaScript/공부

Variable

쫑가 2021. 7. 3. 22:52

Variable (변수)

모든 프로그램 언어에서 변수는 값을 저장하거나 유지하는 역할.

 

Variable은 왜 사용하는가?

내가 JavaScript로 간단한 연산 테스트를 한다면

// 1
console.log(7 + 8);
console.log(7 * 8);
console.log(7 / 8);
console.log(7 - 8);
----------------------
// 2
console.log(9 + 10);
console.log(9 * 10);
console.log(9 / 10);
console.log(9 - 10);

1번 계산식에서 2번처럼 숫자를 변경한다면

4개의 계산식을 위해 무려 8개의 숫자를 변경해야 한다.

만약 계산식이 더 많다면 하루 종일 변경해야 할지도 모른다.

// 1
let a = 7;
let b = 8;
console.log(a + b);
console.log(a * b);
console.log(a / b);
console.log(a - b);
-------------------
// 2
a = 9;
b = 10;
console.log(a + b);
console.log(a * b);
console.log(a / b);
console.log(a - b);

a, b라는 variable을 생성해서 정의해 놓으면 계산식을 모두 변경할 필요 없이 Variable값 변경으로 가능하다.

그러면 계산식이 아무리 많더라도 Variable값만 변경하면 된다.

 

이제 Variable를 생성/정의 했던 방법을 알아보자.

Variable 생성

Variable 만드는 방법은 3가지가 있다

1. const

2. let

3. var

 

1. const

constant로 변함없다는 뜻

const variableName = 7;

@ JavaScript에서는 Variable 이름을 길게 사용할 경우 일반적인 약속으로 camellCase를 사용한다.

const는 바뀌지 않은 값으로 값이 계속 유지되고 변경할 수 없다.

위를 풀어서 이야기하면 변하지않는 변수 variableName의 값을 7로 정의한다.

 

2. let

let variableName = 7;

let은 variable을 정의/생성하고 난 이후에 변경할 수 있다. 

위를 풀어서 이야기하면 변할 수 있는 변수 variableName의 값을 7로 정의한다.

변경 방법

let variableName = 7;
console.log(variableName + 8);
variableName = 1;
console.log(variableName +8);
----------------------------
15
9

let으로 정의한 이후 그냥 변수 값을 변경하면 된다.

let은 새로운 변수를 생성할 때 사용하는 것이라 그 이후 let 없이 변수를 업데이트 할 수 있다.

 

@let 말고 const를 사용한다면? 오류가 나온다.

 

3. var

const와 let이 있기 전에 var을 사용했다. 과거의 잔재다.

var을 사용해도 variable 정의는 가능하다.

하지만 사용하지 않는 걸 추천한다.

 

이유는?

1. var은 let과 마찬가지로 변경 가능하다

variable값이 보호받지 못하기 때문에 내가 실수로 값을 업데이트해도, 언어가 말해주질 않는다.

그래서 변경하지 않으면 const, 변경을 허용하면 let을 사용하게 만들었다.

2. var은 어떠한 규칙도 없다.

 var로 정의된 변숫값을 변경하고 싶은지 아닌지 의미를 바로 알 수가 없다.

 

그래서 어쩌라고?

기본적으로 const를 사용하고 값을 변경하는게 필요한 경우만 let 사용

항상 const, 가끔 let, var 사용 안함

 

Variable 값

일반적으로 값은 정의된 데이터 값은 다 가능하다. integer, string, boolean, list, variable 등

그러면 값이 비어있거나, 정의되지 않는다면?

 

1. null 

null은 결괏값이 비어져있음. 아무것도 없는 것으로 채웠다는 의미

공간은 있는데 값이 없다. false와 다르다.

let variableName = null;
console.log(variableName);
console.log(variableName + 1);
------------------------------
null
1

console.log(variableName + 1); 결과값이 1로 계산식을 실행했다.

null은 0(false)도 아니고 그냥 비어있는 값이다.

null은 절대 자연적으로 나오지 않는다.

JavaScript에서는 값이 "없다"는 것을 알려줄 때 쓰는 것.

값이 주어졌지만 그 값은 "비어있음"이다.

 

2. undefined

값이 주어지지 않음. 

let variableName;
console.log(variableName);
console.log(variableName + 1);
------------------------------
undefined
NaN

console.log(variableName + 1); 결괏값이 NaN이다.

변수 값이 없어서 계산하지 못한다.

Comments