본문 바로가기

Language/JS

var-let-const 차이, Boolean, Undefined 와 Null 의 차이

1. var-let-const 의 차이점 

명령어
var name = "value" 재 선언가능, 재 할당 가능 
let name = "value" 재 선언 불가, 재 할당 가능
const name = "value" 재 선언 불가, 재 할당 불가  -> 한번 선언하면 그 뒤로 상수 취급
/*var*/
//최초 선언
var a = "apple"

// 재 선언 (가능)
var a = "array"

//재 할당 (가능)
var a = "age"


/*let*/
//최초 선언
let a = "apple"

// 재 선언 (에러)
let a = "array"
//Uncaught SyntaxError: Identifier 'title' has already been declared

//재 할당 (가능)
let a = "age"


/*const - 한 번 정해지면, 프로그램 끝날 때까지 상수처럼 쓰는 것임.*/
//최초 선언
const a = "apple"

// 재 선언 (에러)
const a = "array"
//Uncaught SyntaxError: Identifier 'title' has already been declared

//재 할당 (에러)
const a = "age"
//Uncaught SyntaxError: Identifier 'title' has already been declared

2. Boolean

a= true
b = false

3. Undefined와 Null 의 차이

Undefined와 Null은 의미가 같다. 둘 다 어떤 변수에 값이 할당이 안되어 있음을 나타낸다. 

둘의 차이는 다음과 같다.

Undefined는 개발자가 어떤 변수에 대해 선언만 하고 할당을 안 했을시, 그 변수에 자동으로 넣어지는 값이다. 

반면, Null은 사용자가 직접 넣어줘야 한다. 직접 넣지 않으면 안 쓰인다. 

 

이 차이점을 이용해, JS에는 암묵적인 룰이 있다. 

만약 변수 a의 값을 출력해보니, Null이 나왔다면, 개발자가 a 안에 값이 없다는 것을 알고 있었으나, '일부러' 값을 안 넣은 것이다. 반면 undefined가 나왔다면, 개발자가 값을 할당 하지 않았단 걸 잊고 지나쳤다는 것이다. 

 

**함수 나온 것**

setTimeout(function() {}, 1000)

: function {}안에 있는 명령문 하나 끝내고 다음 껄로 넘어갈 때, 1초가 걸린다. 

1000 의 단위는 ms 이다. 

 

4. 스스로 해보기 

var a = "apple"
var a = "aaa"
a = "abc"

console.log(a)

let b = "banana"
b = "bakery"
console.log(b)

const c = "cake"

string1 = true
if (string1) {
  console.log("String 1은 true")
}

let string2 = null
console.log(string2)

 

'Language > JS' 카테고리의 다른 글

Object 객체  (0) 2023.03.23
JS에서의 배열  (0) 2023.03.23
String 형 변수, Number형 변수 선언  (0) 2023.03.23
JS를 HTML 내부에서 쓸 수 있도록 설정  (0) 2023.03.22
유의적 버전이란 무엇인가  (0) 2023.03.22