Learn Javascript basic common sense(1)

Junghan Lee·2023년 3월 18일
0

Learnd in Camp

목록 보기
8/48

index

  1. == vs === ?
  2. let, const, var ?
  3. null vs undefined ?



1. == VS ===

" == " 는 값이 같은지를 비교하는 연산자. 그러나 ==는 비교하려는 두 값이 서로 다른 데이터 유형이라도 JavaScript 엔진이 자동으로 형 변환을 수행해 값을 비교한다.
반면, " === "는 값과 데이터 유형 모두가 정확히 일치하는지를 비교. 만약 값이 같지만 데이터 유형이 다른 경우에 " === " 는 false 를 반환한다.

ex. 1 == '1' 은 true, 1 === '1'은 false

2. let, const, var

let, const, var 는 모두 변수 선언 방식
재할당, 재선언이 가능한가 ? 하는 지점에서 셋의 차이가 생긴다.
간단하게 보면

var => 재할당, 재선언 모두 가능 // 이에 더해 가장 오래된 변수 선언 키워드로 요즘에는 쓰이지 않는 편이다. 또한 함수 스코프로 변수가 선언된 함수 내에서만 접근할 수 있다. 또한 코드 블록 내에서 변수를 선언하기도 전에 사용가능한 호이스팅이 발생한다.

let => 재할당은 가능하나 재선언은 불가능 // 블록 스코프로 변수가 선언된 블록 내에서만 접근할 수 있으며 호이스팅이 발생하지 않는다.

const => 재할당, 재선언 모두 불가능 (상수) // 선언할 때 값을 할당해야 하며 나중에 할당하면 오류가 발생한다. 또한 let 과 마찬가지로 호이스팅이 발생하지 않는다.

사용할 변수가 상수인 경우 const 를 사용하고 값이 바뀔 수 있을 때는 let 을 사용한다.

3. null vs undefined

null과 undefined는 모두 javascript 데이터 유형 중 특별한 값을 나타내는 예약어로

공통점

  • 값이 없음을 나타냄
  • 둘 모두 falsy한 값으로 간주, if문이나 삼항 연산자 등의 조건문에서 조건으로 사용될 수 있다.

차이점

  • undefined는 변수를 선언하고 값을 할당하지 않았을 때, 객체의 존재하지 않는 프로퍼티에 접근할 때 등 사용, null은 개발자가 의도적으로 변수에 값을 할당하지 않았을 때 사용
  • typeof 연산자를 사용해 변수의 데이터 유형을 확인할 때, undefined는 undefined를 return, null은 object 반환
  • null은 명시적으로 변수에 할당할 수 있지만, undefined는 변수를 선언하고 값을 할당하지 않은 경우 자동 할당
  • null은 객체가 존재하지 않는 것을 나타내는 반면, undefined는 객체 자체는 존재하지만 값이 없음을 나타냄
profile
Strive for greatness

0개의 댓글