일치 연산자 == 와 ===
- 둘 다 두 값을 비교하는 일치 연산자지만, 큰 차이가 있다.
console.log(1 == "1")
console.log(1 === "1")
→ true
false
- 일치연산자를 사용해 숫자 1과 숫자로 된 문자열 "1" 을 비교했다.
- == 을 사용한 결과는 true, ===을 사용한 결과는 false인데, 그 이유는 ==은 두 자료의 자료형이 다르면 강제 형변환을 해서 비교 연산 전의 같은 자료형으로 바꾼 뒤 연산을 수행하기 때문에 true 가 나온 것이고, === 은 두 자료형의 자료형 type 과 값을 비교해 연산을 수행해 false 나온 것이다.
- undefined 와 null 모두 값이 없다는 상태를 나타낸다.
- 두 값을 비교해보자
const nullData = null
const undefinedData = undefined
console.log(nullData == undefinedData)
console.log(nullData === undefinedData)
→ true
false
- 두 값을 비교하자 == 에서는 true, ===에서는 false 가 출력됐다.
- undefined 는 변수나 함수를 선언했으나, 값이나 인수가 주어지지 않은 경우에 자동으로 할당된다.
- null 은 변수나 함수를 선언하고, 의도적으로 값을 할당하지 않아 비어있다는 것을 나타낸다.
- 결론은 undefined는 값이 지정되지 않은 경우를 의미하지만, null의 경우에는 해당 변수나 함수가 어떤 객체도 가리키고 있지 않다는 것을 의미한다.
'JavaScript' 카테고리의 다른 글
JavaScript, 불변성과 불변객체를 만드는 방법 (0) | 2022.11.18 |
---|---|
JavaScript, 기본형 데이터와 참조형 데이터 (0) | 2022.11.18 |
JavaScript 형변환 (0) | 2022.11.18 |
JavaScript, 느슨한 타입(loosely type) 의 동적언어(dynamic) (0) | 2022.11.18 |
JavaScript 동기 비동기 (0) | 2022.11.12 |