타입 확정하기 Narrowing & Assertion 강의 예제문제 중 궁금한 것이 있습니다.
아래와 같이 영희쌤을 변수로 받아,
4가지 콘솔을 찍어보았는데,
콘솔 1,2,3번의 타입이 다르게
각각 왜 object, array 형태로 다르게 출력 되는지 궁금합니다.
또, 이렇게 방식이 다르게 적용되면
narrowing 검사시, if 조건을
1번 형태일때는 object인지 검사하고
3번 형태일때는 array인지 검사해야 하는지 궁금합니다.
-------------------------------------------------------------------------------
let 영희쌤 = { subject : ['science', 'english'] }
function solution(sam: { subject : string|string[]}) {
console.log(typeof sam.subject); //1. object 출력
console.log(sam.subject); //2. array 형태 출력
console.log(Array.isArray(sam.subject)) //3. true (array 타입임)
}
solution(영희쌤);