Codeit/JavaScript
null과 undefined
효땡
2024. 8. 4. 13:55
자료형
- 숫자형
- 문자형
- Boolean
- null
- undefined
null
- (의도적으로) 값이 없음
- 의도적으로 표현할 때 사용하는 값
undefined
- (처음부터) 값이 없음
- 값이 없다는 것을 확인하는 값
- 선언을 한 다음 값을 정해주지 않았다는 것을 의미
// null과 undefined
let pororo;
console.log(pororo); // undefined -> 값이 주어지지 않을 경우 undefined 출력
pororo = null;
console.log(pororo); // null
console.log(null == undefined); // true -> 동등비교일 때는 둘 다 비슷한 의미로 true값 출력
console.log(null === undefined); // false -> 일치비교일 때는 두 값이 서로 다른 자료형으로 false값 출력
let pengsoo;
console.log(pengsoo); // undefined
pengsoo = null;
console.log(pengsoo); // null
pengsoo = undefined;
console.log(pengsoo); // undefined
let cup;
console.log(cup); // undefined
cup = '물';
console.log(cup); // 물
cup = null;
console.log(cup); // null
퀴즈
let x;
console.log(x); // undefined
let y = x;
x = null;
console.log(y); // undefined
console.log(x); // null
x = y;
console.log(x); // undefined
let x;
let y = null;
console.log(x === y); // false -> undefined === null
console.log(x == y); // true -> undefined == null
console.log(x == null); //true -> undefined == null
console.log(y === undefined); // false -> null === undefined
실습
숫자형을 담고 있는 변수들(material1, material3, material5)과 문자열을 담고 있는 변수들(material2, material4)이 있습니다. 변수들끼리 연산해서 result1에는 문자열 '34'를, result2에는 숫자형 34를 만들어 담아주세요.
단, 변수가 아닌 숫자를 직접 사용하지 마세요. result1과 result2는 반드시 material1~5변수들과 연산식으로만 할당해야 합니다.
// 숫자형과 문자열 재료
let material1 = 3;
let material2 = '3';
let material3 = 10;
let material4 = '4';
let material5 = 4;
// 연산 결과
let result1 = material2 + material4;
let result2 = (material1 * material3) + material5;
// 연산을 통해 result1에 문자열 '34'를, result2에 숫자형 34를 할당
// 테스트 코드
console.log(result1);
console.log(typeof result1);
console.log(result2);
console.log(typeof result2);
실습 결과
34
string
34
number