타입 가드 : 해당 타입에 대한 확신과 검증을 하는 역할

이렇게 하면 zero라는 함수의 value가 string만 반환할 수 있게 한 이 자체를 type guard라고 봐도 된다.
이 코드에서 첫 if문을 보시면, value === 'number'라서 number를 반환해야 하는데 우리는 애초에 string을 반환하기로 약속했기에 에러가 뜬다.
=> 해결하기 위해서는 value를 String(value)로 바꾸어준다.

if문에 충족하지 않는 것들도 있기에 마지막에 return value를 적는다.

in 연산자를 사용해 객체가 특정 속성을 갖고 있는지 불리언 속성으로 나타냄
instanceof : 생성자의 prototype 속성이 객체의 프로토타입 체인 어딘가 존재하는지 판별

존재하지 않는다면 new Date를 붙여주며 return


매개변수 is 타입 형태를 사용 가능