변수

SeungMin·2022년 6월 2일
0

변수의 선언


var a = 1
var b = 2
console.log(a)   // 1
console.log(a+b) // 3
var a = 2
console.log(a+b) // 4

Variable 변수는 var 이라는 키워드로 선언한다.
ab라는 이름의 변수에 각각 1과 2를 할당하고,
하나씩 또는 연산하여 출력할 수 있다.
var로 선언된 변수는 값을 다시 선언 할 수있다.

var name = '홍길동'
var job = '도사'
console.log(job + ' ' + name) // 도사 홍길동

var에는 number 외에도 String 타입도 선언 할 수있다.


변수의 재활용성


console.log(50+100)                 // 150
console.log((50+100)*10)            // 1500
console.log(((50+100)*10)-50)       // 1450
console.log((((50+100)*10)-50)/10)  // 145

var a = 50
a = a + 100
console.log(a) // 150
a = a * 10
console.log(a) // 1500
a = a - 50
console.log(a) // 1450
a = a / 10
console.log(a) // 145

코드만 놓고보면 문제가 없지만
여기서 50을 다른 수로 바꿔야 할 경우 코드를 네 줄 전부 수정해야 한다.
하지만 a라는 변수에 값을 선언하여 코드를 작성할경우 이후에 값을 바꿔야 할 때
변수 a를 다시 선언하여 코드를 한줄만 수정해도 간단하게 대처 할 수 있다.


변수 var let const의 차이


var의 경우

var a = "홍길동";
console.log(name);      // 홍길동

var a = "전우치";
console.log(name);      // 전우치

let의 경우

let b = 'let'  // let
let b = 'let2' // Uncaught SyntaxError: Identifier 'testCase' has already been declared
b = 'let3'     // let3

const의 경우

const c = 'const' 
// const
const c = 'const2' 
// Uncaught SyntaxError: Identifier 'testCase' has already been declared
c = 'const3' 
// Uncaught TypeError:Assignment to constant variable.

var의 경우는 재할당 재선언이 자유롭다.
let의 경우에는 재할당은 가능하지만 재선언은 불가능하다.
const의 경우에는 재할당과 재선언 둘 다 불가능하다.

var a = 1
if(typeof a == 'number' ){
  var result1 = true;
  let result2 = true;
  const result3 = true;
} else {
  var result1 = false;
  let result2 = false;
  const result3 = false;
}

console.log(result1); // true
console.log(result2); // Uncaught ReferenceError: result2 is not defined
console.log(result3); // Uncaught ReferenceError: result3 is not defined

var의 경우는 function scope를 가지기 때문에
함수 안에서 선언된 값을 함수 밖에서 사용할 수 있다.
letconst의 경우에는 block scope를 가지기 때문에
함수 안에서 선언된 값은 함수 밖에서 사용할 수 없다.

profile
공부기록

0개의 댓글