function sendMessage(options: Options) {
}
const opts = {
payload: "hello world!",
retryOnFail: true,
}
// Error! Type '{ payload: string; retryOnFail: boolean; }' has no properties in common with type 'Options'.
sendMessage(opts); // Options의 옵션속성이 하나도 없다!
클래스에 적용될때 weak types가 하나도 구현되지 않았을 경우에 에러!
예2)
interface Foo {
someMethod?(): void;
someOtherMethod?(arg: number): string;
}
// Error! Type 'Dog' has no properties in common with type 'Foo'
class Dog implements Foo {
bark() {
return "woof!";
}
}
weak types
에 대해 보다 더 엄격하게 체크한다.BREAKING CHANGES
weak types은 모두 optional한 타입. 예)
weak types에서 하나도 겹쳐지지 않는다면.
에러
예1)
클래스에 적용될때 weak types가 하나도 구현되지 않았을 경우에 에러! 예2)