首页 > 解决方案 > 如何在 Typescript 中使用以数字开头的别名

问题描述

在我的 React 项目里面,theme.ts我创建了一些别名来定义我的FontSizes. 我必须对''键使用引号,否则 Typescript 会抱怨:

fontSizes: {
    'xs': '12px',
    'sm': '14px',
    'md': '16px',
    'lg': '18px',
    'xl': '20px',
    '2xl': '24px',
    '4xl': '32px',
    '5xl': '48px',
    '6xl': '64px',
  },

这工作正常。

但是当我想使用一个值2xl3xl类似的值时,font-size: ${theme.fontSizes.2xl};我会收到以下消息:

An identifier or keyword cannot immediately follow a numeric literal.

标签: reactjstypescripttheming

解决方案


如 MDN 文档中所述

JavaScript 标识符必须以字母、下划线 (_) 或美元符号 ($) 开头。他们不能以数字开头!只有后续字符可以是数字 (0-9)。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Identifier_after_number

您的代码必须遵守这一点,通常最好避免它。

说如果您真的希望对象键以数字开头,那么您可以通过做来使其工作。

font-size: ${theme.fontSizes['2xl']};


推荐阅读