脚本宝典收集整理的这篇文章主要介绍了[Typescript] asserts tips,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
class SDK {
constructor(public loggedInUserId?: string) {}
createPost(title: string) {
this.assertUserIsLoggedIn();
createPost(this.loggedInUserId, title);
}
assertUserIsLoggedIn(): asserts this is this & { loggedInUserId: string } {
if (!this.loggedInUserId) {
throw new Error("User is not logged in");
}
}
}
Basiclly it is a combination assertion
asserts this is this & { loggedInUserId: string }
Assert this is this, return true
and force loggedInUserId to be string type.
Another way
class SDK {
constructor(public loggedInUserId?: string) {}
createPost(title: string) {
this.assertUserIsLoggedIn(this.loggedInUserId);
createPost(this.loggedInUserId, title);
}
assertUserIsLoggedIn(user: string | undefined): asserts user is string {
if (!this.loggedInUserId) {
throw new Error("User is not logged in");
}
}
}
I prefer this way better
以上是脚本宝典为你收集整理的[Typescript] asserts tips全部内容,希望文章能够帮你解决[Typescript] asserts tips所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。