유니온 타입은 새로운 타입을 만드는 것이기 때문에 수학 연산이 불가능하다 function sum(x :number | string) { return x + 1 } sum(123) //에러 발생 string + 1(가능) number + 1(가능) string | number + 1(불가능) 에러가 나지 않게 하기 위해서는 1. Narrowing을 해주거나, 2. Assert를 해주면 된다 1. Narrowing 애매한 타입(union type)을 가지고 있을 때, 추가적인 타입 체크나 할당을 이용해 변수의 타입을 작은 범위로 좁혀주는 것(정해주는 것)을 뜻한다 타입이 확실하지 않을 때 생기는 부작용을 막기 위한 장치 function sum(x :number | string) { if(typeof x ==..