타입 프레디케이트
user is AdminUser가 true 분기에서의 타입을 알려 준다.
사용자 정의 타입 가드는 런타임 조건을 통과한 값을 호출부에서 더 좁은 타입으로 쓰게 해 준다.
parameter is Type
user is AdminUser가 true 분기에서의 타입을 알려 준다.
role === "admin"처럼 실제 값으로 확인 가능한 조건을
둔다.
true가 아니면 남은 타입인 GeneralUser로 좁혀진다.
여러 함수에서 같은 분기 검사를 안전하게 재사용한다.
as AdminUser는 가드 내부에서 검사 보조로만 제한하고,
호출부는 타입 프레디케이트가 만든 분기 결과를 사용한다.