특정 데이터 값을 임시로 저장하는 공간(Heap Memory)
특정 값을 자주 사용하는 경우 (성능상의 이점)
반복적인 구문, 값이 여러코드에 걸쳐 많이 쓰일 때 (편의상의 이점)
var(ES5)
let(ES6)
변경 될 수 있는 값을 저장할 때
ex) 변수에 3이라는 값을 할당 (저장했다.)
let num;
num = 3;
console.log(num); // 3출력
let num1 = 5; // 변수를 초기화했다고 얘기한다. (변수를 선언하자마자 값을 할당)
const data = "데이터1";
data = "데이터2";
console.log(data); // type Error를 발생시킨다. (덮어쓰기 불가능)
특정값을 도출하기 위해 연산을 처리하는 식별자
수학적인 연산을 처리하는 공간 (+, -, /, *, %, ++, -- )
let num = 0;
num = num + 2;
console.log(num); // 2를 출력한다.
특정값을 대입하기 위한 연산 (=, +=, -=, *=, /=)
let num1 = 2;
num1 += 1;
console.log(num1); // 3 출력 (2+1);
++가 뒤에 올 경우, 후위연산자, 앞에 올 경우 전위연산자라고 얘기한다.
let num1 = 5;
num1++;
console.log(num1); // 6출력 (5에서 1씩 증가한다.)
2개 이상의 값을 서로 비교하기 위한 연산 (결과값을 반환한다. true, false)
ex) 느슨한 비교
let result = (2 == '2');
console.log(result); // true를 반환한다.
ex) 엄격한 비교
let result2 = (2 === '2');
console.log(result2); // false를 반환한다.
값은 같지만 숫자, 문자 자료형이 다르기 때문에 false를 반환한다.
특정 조건이 부합되면 자료형이 강제로 변환되는 현상
let num1 = "2"; // 문자
let num2 = 3; // 숫자
let num3 = 5; // 숫자
console.log(num1 + num2 + num3); // 235 출력 (문자로 형변환이 일어남)
console.log(num3 + num2 + num1); // 82 출력 (num3 와 num2는 숫자를 우선적으로 더한 후 문자를 더하기 때문에 82를 출력한다.)
const colors = ['red', 'blue', 'yellow'];
console.log(colors); // red, blue, yellow 출력
console.log(colors[0]); // red 출력
console.log(colors[1]); // blue 출력
반대로 배열 내 값을 변경 할 수 있습니다.
colors[0] = "pink";
console.log(colors); // pink, blue, yellow 출력