【发布时间】:2021-06-23 15:38:39
【问题描述】:
在 JS 对象的键声明中,冒号前有 ! 的语法是什么?
类的 MikroORM 语法
@Entity()
export class Post {
// the @PrimaryKey invokes a function that takes the returned key/value pair and adds it as a column / information
@PrimaryKey()
id!: number;
@Property({ type: "date", default: "NOW()" })
createdAt = new Date();
@Property({ type: "date", default: "NOW()", onUpdate: () => new Date() })
updatedAt = new Date();
@Property({ type: "text" })
title!: string;
}
【问题讨论】:
-
如果您提供一个代码示例给我们提供上下文,您的问题会更容易理解。
-
从未见过。一个真实的例子怎么样? JavaScript (和许多其他语言) 中的
!是布尔not运算符。 -
根据您的描述,应该是a syntax error。
-
如果您可以发布一个更大的代码示例,这样我们就可以在上下文中看到它,这将有所帮助。但如果我不得不猜测,您正在处理 TypeScript(而不仅仅是 JavaScript),感叹号是 non-null assertion operator,它告诉 TypeScript 编译器该属性有一个值(在编译器无法推断的情况下)本身 - 例如,在构造函数中使用
Object.assign时)。 -
{ key!: "val" }在js控制台抛出语法错误
标签: typescript mikro-orm