标识符或关键字不能紧跟在数字字面量之后
An identifier or keyword cannot immediately follow numeric literal
当变量以数字开头或我们尝试直接在数字上调用方法时,会出现 TypeScript 错误“标识符或关键字不能立即跟随数字文字”。
要解决该错误,请重命名您的变量,使其不以数字开头。
以下是导致错误的 2 个最常见原因。
索引.ts
// 👇️ Because we call a method directly on a digit // ⛔️ Error: An identifier or keyword cannot immediately follow a numeric literal.ts(1351) const result1 = 7.toFixed(2); const result2 = 7.toString() // 👇️ Because a variable (or identifier) starts with a digit // ⛔️ Error: const 100hello = 'bobbyhadz.com'
在第一个示例中,我们直接在数字文字上调用方法,类型检查器抛出错误。
将数字字面量括在括号中
要解决这个问题,请将数字文字括在括号中。
索引.ts
const result1 = (7).toFixed(2); console.log(result1); // 👉️ 7.00 const result2 = (7).toString(); console.log(result2); // 👉️ "7"
TypeScript 不允许我们直接在数字文字上调用方法,因此我们必须将其括在括号中。
当您考虑它时,它是有道理的,因为如果数字有小数,那么使用点来分隔整数和小数以及哪个是方法调用有点令人困惑。
将数字提取到变量中
另一种解决方案是将数字提取到变量中。
索引.ts
const num = 7; const result1 = num.toFixed(2); console.log(result1); // 👉️ 7.00
变量名不能以数字开头
如果您声明了一个名称以数字开头的变量,您也可能会遇到错误。
索引.ts
// ⛔️ Error: An identifier or keyword cannot immediately follow a numeric literal.ts(1351) const 100hello = 'bobbyhadz.com'
在 JavaScript(和 TypeScript)中,所有变量名都必须以字母、下划线
_
或美元符号开头$
。这意味着您不允许以数字开头的变量名。但是,您可以将数字用于变量名称的后续字符。
索引.ts
const hello100 = 'bobbyhadz.com'; console.log(hello100); // 👉️ "bobbyhadz.com"
此规则也适用于对象属性和任何其他标识符。
索引.ts
const obj = { // ⛔️ Error: An identifier or keyword cannot immediately follow a numeric literal.ts(1351) 100hello: 'bobbyhadz.com' }
确保标识符的名称以字母、下划线
_
或美元符号开头$
,以避免出现此错误。
索引.ts
const obj = { hello100: 'bobbyhadz.com', }; console.log(obj.hello100); // 👉️ 'bobbyhadz.com'
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: