Typescript 연산식
조건연산자 Ternary operator (conditional operator)
const canVote = age >= 18 ? 'Yes' : 'No'
in operator
let car = { make: 'Toyota', model: 'Corolla' }
console.log('make' in car) // output: true
type-specific operators
The question mark operator (?)
interface Person {
name: string
age?: number // age is optional
}
let person: Person = { name: 'Alice' }
console.log(person.age ? person.age : 'Age not provided') // output: Age not provided
console.log(person.age || 'Age not provided') // output: Age not provided
let obj = { a: { b: { c: 1 } } }
console.log(obj?.a?.b?.c) // output: 1
nullish coalescing operator (??)
?? 은 오직 undefined 와 null 을 체크 한다.
const dealType = currentDealType ?? originalDealType;
// currentDealType 이 null 도 아니고 undefined 도 아니면 dealType 에 currentDealType 값을 입력하고 아니면 originalDealType 을 입력하라
const dealType = currentDealType !== null && currentDealType !== void 0 ? currentDealType : originalDealType;
||
?? 와 달리 undefined, null, 0, NaN and '' 를 체크