티스토리 뷰

javacsript/공부

[TS] 옵셔널 파라미터

실전압축코딩 2023. 7. 21. 14:51

 

1. 파라미터 예외 처리가 이루어 지지 않음

function foo(bar: string) {
    console.info(bar);
}

foo("Hello World!"); // OK
foo(null); // Error
foo(undefined); // Error
foo() // Error

2. | null 타입으로 null값을 허용한다. /  undefined, 공백은 허용 x

function foo(bar: string | null) {
    console.info(bar);
}

foo("Hello World!"); // OK
foo(null); // OK
foo(undefined); // Error
foo() // Error

3.  | undefined 타입으로 undefined값을 허용한다 / null, 공백은 허용 x

function foo(bar: string | undefined) {
    console.info(bar);
}

foo("Hello World!"); // OK
foo(null); // Error
foo(undefined); // OK
foo() // Error

4. null | undefined / 공백 허용 x

function foo(bar: string | null | undefined) {
    console.info(bar);
}

foo("Hello World!"); // OK
foo(null); // OK
foo(undefined); // OK
foo() // Error

5. optional -> null 허용 x

function foo(bar?: string) {
    console.info(bar);
}

foo("Hello World!"); // OK
foo(null); // Error
foo(undefined); // OK
foo() // OK

 

6. 짜잔! 평화가 찾아 왔다

function foo(bar?: string | null) {
    console.info(bar);
}

foo("Hello World!"); // OK
foo(null); // OK
foo(undefined); // OK
foo() // OK

 

https://stackoverflow.com/questions/57243477/can-an-optional-parameter-be-null-in-typescript

 

Can an optional parameter be null in TypeScript?

According to this article, when strict null checking is enabled in TypeScript, you cannot assign null or undefined to a variable unless it is explicitly allowed with a union. // required value let...

stackoverflow.com

 

'javacsript > 공부' 카테고리의 다른 글

[cs 면접 공부 -1]  (0) 2023.07.30
[js] 실행 컨텍스트  (0) 2023.07.26
Active Record패턴과 Data Mapper 패턴  (0) 2023.07.20
js 구조분해할당 [destructuring]  (0) 2023.07.11
js spread/rest 문법  (0) 2023.07.11