You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何解决TypeScript中第4行出现的TS(1005) '(' expected错误

解决TS(1005): '(' expected 错误

你的TS(1005)错误完全是因为接口方法的语法不符合TypeScript规则,再加上一个小拼写错误,我帮你拆解问题和修复方案:

问题根源

TypeScript接口里的方法声明逻辑和Java/C#不一样——它要求方法名在前,参数列表紧跟,最后才是返回类型。你第4行的代码用了Java风格的写法(返回类型放在方法名前面),编译器看到List<WordFrequency>之后,本来期待看到(来启动参数列表,结果看到的是calculateMostFrequentNWords,所以直接报错说需要(。另外还有个小拼写错误也得修正。

具体修复步骤

  1. 修正方法名拼写:第3行的icalculateFrequencyForWord多了一个开头的i,应该改成calculateFrequencyForWord
  2. 调整方法声明语法:把第4行的返回类型移到方法签名末尾,同时把Java风格的List<WordFrequency>替换成TypeScript的数组类型(Array<WordFrequency>或者WordFrequency[]都可以,两者等价)。

修复后的代码

interface WordFrequencyAnalyzer { 
  calculateHighestFrequency(text: string): number;  
  calculateFrequencyForWord(text: string, word: string): number;  
  calculateMostFrequentNWords(text: string, n: number): Array<WordFrequency>; 
};

或者用更简洁的数组语法:

interface WordFrequencyAnalyzer { 
  calculateHighestFrequency(text: string): number;  
  calculateFrequencyForWord(text: string, word: string): number;  
  calculateMostFrequentNWords(text: string, n: number): WordFrequency[]; 
};

这样修改之后,TS(1005)的错误就会消失,接口的语法也完全符合TypeScript的规范了。

内容的提问来源于stack exchange,提问作者S. A.

火山引擎 最新活动