반응형
TypeScript 에서, undefined와 null 은 실제로 각각 undefined 및 null 이라는 타입을 가집니다.
void와 마찬가지로, 그 자체로는 그다지 유용하지 않습니다.
둘다 소문자만 존재합니다.
컴파일 옵션에서 '--strictNullChecks' 사용하면, null 과 undefined는 void 나 자기 자신들에게만 할당할 수 있다.
이 경우, null과 undefined를 할당할 수 있게 하려면, union type을 이용해야 한다.
let Myname: string = null;
null 할당할 경우 에러 발생
이유: tsconfig.json 파일 내부에 "strict": true, 항목에서 제어하기 때문에
만약 해당 라인에 주석처리를 하고, 같은 코드를 확인하면 에러가 발생하지 않는다.
// null 사용 불가
// let Myname: string = null;
// let u: undefined = null;
let v: void = undefined;
// string 타입과 null을 함께 지정
let union: string | null = null;
union = "Mark";
자바스크립트에서 null
- null 이라는 값으로 할당된 것을 null 이라고 한다.
- 무언가가 있는데, 사용할 준비가 덜 된 상태
- null 이라는 타입은 null 이라는 값만 가질 수 있다.
- 런타임에서 typeof 연산자를 이용해서 알아내면, object 이다.
let n: null = null;
console.log(n); // null
console.log(typeof n); // object
자바스크립트에서 undefined
- 값을 할당하지 않은 변수는 undefined 라는 값을 가진다.
- 무언가가 아예 준비가 안된 상태
- object 의 property가 없을 때도 undefined 이다.
- 런타임에서 typeof 연산자를 이용해서 알아내면, undefined 이다.
let u: undefined = undefined;
console.log(u); // undefined
console.log(typeof u); // undefined
반응형
'프론트엔드 > TypeScript' 카테고리의 다른 글
any (0) | 2021.06.15 |
---|---|
Array (0) | 2021.06.14 |
object (0) | 2021.06.14 |
Primitive Type 1 (Boolean, Number, String Symbol) (0) | 2021.06.10 |
Type Script 시작 (0) | 2021.06.08 |