Javascript - 변수

KimSeongTae·2021년 7월 26일
0

JavaScript

목록 보기
2/6

1. 변수 선언하기 (let)

프로그램을 만들 때 잠깐 동안 특정한 값을 저장해야 하는 상황이 발생하는데, 이때 사용하는 것이 변수이다.

let americano = 3000;
let caffelatte = 4000;
let total = 3000 + 4000;

이라고 선언을 하고 console에 선언한 변수를 입력한다면 저장된 값이 출력된다.

> console.log(americano);
  3000
< undefined

> console.log(caffelatte);
  4000
< undefined

> console.log(total);
  7000
< undefined

지금까지는 간단한 숫자를 저장을 했지만 만약에 복잡한 숫자를 저장한다면 많이 유용하다

let number = 9606053142;

만약 이렇게 복잡한 숫자를 변수선언 없이 계속해서 사용한다고 생각한다면 매번 저 숫자를 입력 해야한다. 하지만 변수를 선언했기 때문에 number만 입력해도 9606053142라는 숫자가 나오게 될 것이다.

> let empty; let empty
// 만약 이렇게 같은 변수를 같은 줄에 선언을 한다면 Error가 발생한다.

따라서 변수명이 겹치지 않도록 주의를 해야한다.




2. 변수명 짓기

변수명을 지을때 직관적으로 어떤 역할을 하는지 알아보기 쉽게 지어야 한다. 그리고 변수명은 한글로도 지을 수 있고 키보드에 존재하는 특수문자 중에서는 $,_만 쓸 수 있다.

> let 한글 = '세종대왕';
< undefined

> 한글
< "세종대왕"

> let $_ = 'hello';
< undefined

> $_
< "hello"

그리고 변수명을 지을때 숫자도 사용할 수 있다. 단, 숫자가 첫 글자면 안된다.

> let banana2 = 'banana';
< undefined

> banana2
< "banana"

> let 2banana = 'banana';
< Error

변수명을 지을 때 띄어쓰기도 안된다. 하지만 이러한 점을 보완하기위해 암묵적인 방법이 존재한다.

> let Cassandra is babo = 'babo';
< Error

> let CassandraIsBabo = 'babo';
< undefined

> CassandraIsBabo 
< "babo"

띄어쓰기 대신 띄어쓰기 하는 부분을 대문자로 바꾸게 되어 띄어쓰기를 구별한다.




3. 변수 수정하기

변수를 바꾸는 방법에 대하여 알아보자.

> let change = '바꿔라';
< undefined

> change
< "바꿔라"

> change = '바꿨다';
< "바꿨다"

> change
< "바꿨다"

변수 안에 있는 값을 비우는 방법

> change = null;
< null

> change = undefined;
< undefined

null이나 undefined 둘다 변수값을 비울수 있다 하지만 null을 쓰는 것을 추천한다

왜냐하면 undefined는 기본값 역할을 하기때문에 undefined를 쓴다면 의도적으로 비웠다는것을 모르지만 null을 쓴다면 의도적으로 비웠다고 파악하기 쉽기 때문이다.

// 여기서 부터는 예시이다.
> let k = '111'; // 변수k의 값을 지정
< undefined

> k = null; // 변수를 비웠다.
< null

> k // k를 선언하면 당연히 비어있기 때문에 null이 나온다.
< null // 이런식으로  null을 써서 누군가 의도적으로 비워 놨다고 알릴 수 잇다.

> k = undefined; // k를 undefined로 비워보자
< undefined

> k
< undefined // 이 값은 기본값인 undefined로 선언 되었기 때문에 의도적으로 비워 놓은 값인지 아니면 선언을 하지 않은 값인지 알 수 없다.



4. 변수 활용하기

> let number = 5;
< undefined

> number = number + 4;
< 9

여기서 왜 이런 식이 나오는지 납득이 안되는 사람들이 있을 것이다. 하지만 자바스크립트에서 = 는 같다가 아닌 대입이다.

a = b  // 이것은 b를 a로 대입하는 것이다.
a == b // 값은 비교하지만 자료형은 비교하지않는다.
a === b // 값과 자료형 둘다 비교한다.
> number = number + 4;
< 9

> number += 4; 
< 9 
//즉 위아래 식이 같음 

위와 같이 두개의 방법이 있으니 적절히 활용 할 것.




5. const와 var

let 외에도 변수를 선언하는 예약어로 const와 var가 있다.

1) const

const는 상수(constant)를 줄인말이다. 상수란 변하지 않고 같은 값을 가지는 수라고 한다.

> const 상수 = "변하지 않음";
< undefined

> 상수 = "변해라";
< Uncaught TypeError : Assignment to constant variable.

위의 결과처럼 const는 변경할 수 없다.

2) var

var이란 variable의 줄인말이다. 예전에는 많이 사용했지만 다소 이해하기 어려운 특성이 존재하기 때문에 const와 let을 많이 사용하고 있다. 다만, 과거에 작성된 코드에서 많이 사용하므로 var의 특성은 알아야 한다.

// 전반적인 것은 let과 거의 동일하나 차이점이 두가지 있다.

> var 변수 = '선언';
< undefined

> var 변수 = '다시 선언 할 수 있다.';
< undefined
> let 변수 = '선언';
< undefined

> let 변수 = '다시 선언 할 수 있다.';
< Uncaught SyntaxError : Identifier 'variable' has already been declared

위와같이 let과 var은 재선언할때 차이를 보이고 또다른 차이점으로서

> var let = 'const';
< undefined
> let let = 'const';
< Uncaught SyntaxError : Identifier 'let' has already been declared
// let같은 경우 예약어를 변수로 쓰면 오류가 발생.

var은 자바스크립트의 예약어인 let, const, undefined, null 등등을 변수로 사용할 수 있는데 만약 이런 예약어들을 변수로 사용한다면 코드를 작성할때 많이 햇갈릴 수도 있다.

var대신 let을 쓰게된다면 위와 같은 상황을 막을 수 있다.

0개의 댓글