提问者:小点点

Vue Property Decorator上的感叹号代表什么[重复]


我正在熟悉vue中typescript的使用。当阅读vue属性装饰器的留档时,我无法理解此声明代表什么

@Prop({ default: 'default value' }) readonly propB!: string

共1个答案

匿名用户

在这个特定的情况下,使用刘海运算符是因为您知道您的属性prob不能是nullundesign,因为装饰器负责填写值。TypeScript不知道这一点,并且由于您没有直接或在构造函数中分配值,它期望类型签名是string|undesign。感叹号告诉TypeScript您知道该值永远不会是未定义,并且将签名简化为string,而不会抱怨它是未定义的可能性。

只有当您将TypeScript编译器选项设置为严格时,您才需要这个(强烈鼓励这样做!)。