Variable 'age' is used before being assigned - Typescript
인데 할당되기 전에 사용되었다고? 예시를 들어보자 분명 let age로 선언되었는데 왜 저런 에러가 뜰까?
우리는 여기서 알아야 한다. 는 할당(assigned) 된 것이 아니라 선언(declare) 된 것이다. 여기서 알 수 있는 것은 만약에 if문이 실행되지 않으면 는 선언만 되었을 뿐 할당되지 않았다. 즉 전혀 할당되지 않은 것이다. 근데 왜 할당되지 않은 것일까? 해답은 여기있다 우리가 age를 number type으로 지정하였기 때문에 다른 값이 들어오면 에러가 뜨게 된다. ✨ 해결 방법 undefined 값도 괜찮은 경우 : 초기 값인 undefined도 함께 타입으로 지정해준다. 무조건 number 타입으로 지정될 경우 : Definite Assignment Assertions을 사용한다.
Definite Assignment Assertions이란 컴파일러에게 값이 무조건 할당되어 있다고 컴파일러에게 전달하는 경우이다. 즉 처음은 으로 지정되지만 값이 할당되면 numb…