변수

1. let


let age; //초기화 하지 않았을 때
age = 20;
------------------------------
let age = 20;
console.log(age); //20 출력

let age = 20;
console.log(age); //20 출력

age = 30;
console.log(age); //30 출력

let age = 30; //이미 위에서 age 변수를 선언했기 때문에 중복 사용 불가



2. var


let age = 20;
console.log(age) // 20 출력

let age = 30;
console.log(age) //30 출력

let과 달리 var를 이용한 변수 선언은 이름을 중복해 선언해도 실행 가능하다.

따라서 가급적 변수 선언 키워드로는 let을 사용한다. es2015 기점으로 거의 사용하지 않는다고 한다.



상수

상수는 변수와 달리 한 번 저장한 값을 변경할 수 없다.


1. const

const birth = "1997.04.17";

birth = "2024.10.19"; //이미 birth라는 상수를 선언했기 때문에 변경 불가

또한, 상수는 선언과 동시에 값을 초기화 해야한다.

const age;  //error
age = 20; 

다만, 아래와 같은 경우는 가능.

const a = {name: '스타벅스'};
a.name = '투썸';

a의 요소를 바꾸는 것은 가능하다.


const와 let 중 어느 것을 써야 할까?

한 번 초기화 했던 변수에 다른 값을 할당하는 경우가 의외로 적다. 따라서 기본적으로 const를 사용하고, 다른 값을 할당해야 하는 상황이 생겼을 때 let을 사용한다.



자료형 (Data Type)

data type

원시 자료형 (Primitive Type)

원시 자료형을 원시 타입, 기본 타입 이라고 한다. 한 번에 단 하나의 값을 가질 수 있는 타입이다. 한 번에 여러개의 값을 가질 수 없다.

let age = 20; 30;  //error



숫자형 (Number Type)

C나 JAVA에서 정수와 소수를 달리하여 저장하는 반면, JS에서 숫자형은 수의 종류를 구분하지 않는다. 소수, 음수, 실수와 같은 수를 모두 포함하는 자료형이다.

let age =20;
let tall = 165.8;
let minus = -20;



숫자형은 사칙연산이 가능하고, %를 통해 나머지를 구하는 ‘모듈러연산’이 가능하다.

console.log(4+2); //6
console.log(4-2); //2
console.log(4*2); //8
console.log(4/2); //2

console.log(1%2); //1



또한, 숫자형에는 정수, 실수말고도 일반적이지 않은 값이 있다.

Infinity

Infinity : 무한대를 의미하는 값.

  • Infinitiy : 양의 무한대를 의미.
  • -Infinity : 음의 무한대를 의미.
let inf = Infinity;
let minf = -Infinity;



NaN

NaN : Not a Number. 표현이 불가능한 숫자형의 결과를 표현할 때 사용.

let nan = NaN;
--------------------------
const nan = 1 * "hello"; // NaN

NaN이라는 값이 있기 때문에 JS에선 수학 연산이 안전하다. 문자열을 곱하는 등의 수학적으로 불가능한 연산을 명령해도 NaN이라는 값을 반환할 뿐 오류가 발생하거나 프로그램을 멈추지 않는다.



문자형(String Type)

let name = "스타벅스"; 
let text = "에 갑니다.";

let result = name + text;
console.log(result); //스타벅스에 갑니다.

---------------------------------------------

let store = "스타벅스";
let greetingText = `welcome to ${store}!`;

console.log(greetingText); //welcome to 스타벅스


greetingText에 백틱(``)으로 감싼 문자열을 저장한다. 백틱으로 감싼 문자열은 ${}안에 있는 변숫값도 문자열로 변환한다.

Undefined형

let empty;
console.log(empty); //Undefined

Java에서는 변수를 생성하고 아무런 값을 할당하지 않으면 null이 출력되지만, JS에서는 Undefined를 갖게된다.

태그:

카테고리:

업데이트:

댓글남기기