定义interface时报Expected an assignment编译错误如何解决
问题背景
构建表单功能时,尝试定义interface编写了如下代码:
interface TokenListProps { readonly contractAddress: string; }
编译时抛出错误:Expected an assignment or function call and instead saw an expression
可能的错误诱因
- 最核心诱因:文件后缀或解析配置错误。
interface是TypeScript专属语法,如果你把这段代码写在.js后缀的文件中,或者构建工具、语法校验工具没有配置TypeScript解析支持,JS解析器无法识别interface关键字,会把拆分换行的关键字、标识符、大括号逐行当成无效表达式解析,最终抛出该错误。 - 代码书写格式不规范:虽然换行拆分关键字和标识符不是触发该报错的直接原因,但不符合TS语法书写约定,
interface关键字需要紧跟接口名,readonly修饰符需要紧跟修饰的属性名,规范写法如下:
interface TokenListProps { readonly contractAddress: string; }
- 配置校验规则冲突:如果代码已经写在
.ts/.tsx后缀文件中,检查ESLint、Babel等工具的配置,确认已开启TypeScript语法解析规则,没有误用纯JS语法规则校验TS代码。
内容的提问来源于stack exchange,提问作者mleafer
相关产品推荐
相关产品推荐

