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를 만들어 담아주세요.

단, 변수가 아닌 숫자를 직접 사용하지 마세요. result1result2는 반드시 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