意外的标记; '构造函数、函数、访问器或变量'预期
Posted
技术标签:
【中文标题】意外的标记; \'构造函数、函数、访问器或变量\'预期【英文标题】:Unexpected token; 'constructor, function, accessor or variable' expected意外的标记; '构造函数、函数、访问器或变量'预期 【发布时间】:2015-10-02 10:57:42 【问题描述】:很抱歉这个新手问题,但我正在尝试学习类型脚本。
我有以下课程
class indexGridFunctions
//Error on the var
var blocksPerRow: (windowWidth:number)=>number
= function (windowWidth)
return Math.floor(windowWidth / 12);
;
var blocksPerColumn: (windowHeight: number) => number
= function (windowHeight)
return Math.floor(windowHeight / 17);
;
shirtsToDisplay: () => number
= function ()
return blocksPerRow * blocksPerColumn;
;
我在第一个 var 处遇到错误。错误是“意外的令牌;需要'构造函数、函数、访问器或变量'”。
我做错了什么?
TIA
【问题讨论】:
【参考方案1】:不要使用var
。它在类体内的无效语法。固定代码:
class indexGridFunctions
blocksPerRow: (windowWidth: number) => number
= function (windowWidth)
return Math.floor(windowWidth / 12);
;
blocksPerColumn: (windowHeight: number) => number
= function (windowHeight)
return Math.floor(windowHeight / 17);
;
shirtsToDisplay: () => number
= () =>
return this.blocksPerRow(123) * this.blocksPerColumn(123);
;
我还在我提供的代码中对您的代码进行了其他修复:
blocksPerRow
和 blocksPerColumn
未定义。使用this.
。它是一个函数,所以称之为(123)
。
如果你打算使用=
(更多https://www.youtube.com/watch?v=tvocUcbCupA),首选arrow ()=>
而不是function
【讨论】:
非常感谢。我已经重写了几十次尝试不同的变化。这个。是我原始代码库中缺少的东西。非常感谢您帮助新手。我还将您的其他建议添加到我的代码中。 请注意,所有这些都是 TypeScript 编译器在编译时指出的 ;)以上是关于意外的标记; '构造函数、函数、访问器或变量'预期的主要内容,如果未能解决你的问题,请参考以下文章
如何解决“意外的令牌:预期的构造函数、方法、访问器或属性”错误?
TypeScript- NodeJS - 意外的令牌; '构造函数、函数、访问器或变量'
C++ 错误:'(' 标记之前的预期构造函数、析构函数或类型转换