TS指出test()不是字符串的属性吗?

时间:2019-01-08 16:53:00

标签: typescript

我有一个简单的 RegEx 模式测试,我想在字符串上运行它;您可以在下面的示例中将其视为变量part

part is a string

但是,当我这样做时,红色波浪线表示错误:

  

类型'string'上不存在属性'test'。ts(2339)

我正在使用TS 3.2.2,而我的tsconfig.json却很激动:

{
  "compilerOptions": {
    "declaration": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "target": "es2017",
    "noImplicitAny": true,
    "outDir": "./lib",
    "preserveConstEnums": true,
    "removeComments": true,
    "typeRoots": ["./node_modules/@types"]
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules", "**/*-spec.ts"]
}

有人可以帮我理解吗?显然test是字符串的属性!

1 个答案:

答案 0 :(得分:2)

将其放在chrome控制台上,您将获得以下信息: enter image description here 但您可以这样做:

if( /\s+-\s+-[0-9]/.test(part) ) return part;