TypeScript: 如何在创建对象(字面量)时正确指定类型?
大家好!我刚开始学习 TypeScript,遇到了一个令人困惑的情况。当我通过字面量(花括号)创建对象时,我想显式指定它的类型,以便 TypeScript 检查所有字段是否都存在且类型正确。\n\n以下是我所做的:\n\n```typescript\ninterface User {\n name: string;\n age: number;\n}\n\n// 尝试在创建对象时指定类型\nconst user: User = {\n name: "安娜",\n age: 25,\n // 假设我不小心添加了多余的字段\n role: "admin"\n};\n```\n\n我期望 TypeScript 会因 `role` 不在 `User` 接口中而报错。但有时它保持沉默或行为异常。我还看到可以使用 `as User` 或 `const user = { name: "安娜", age: 25 } satisfies User`。哪种方法正确?有什么区别?如何强制 TypeScript 严格检查对象没有多余字段?提前感谢帮助!\n\n<<>>\n
为什么会产生混淆以及不同方法如何工作
\n您遇到了一个经典