Intl.Segmenter Deno 支持
Intl.Segmenter support in Deno
MDN 文档说 Intl.Segmenter 在 Deno 1.8 及更高版本中受支持。但是在尝试使用它时,出现错误。
error: TS2339 [ERROR]: Property 'Segmenter' does not exist on type 'typeof Intl'.
我的代码很简单:
const SEGMENTER = new Intl.Segmenter('en', { granularity: 'grapheme' });
这是我的 Deno 版本信息:
deno 1.20.4 (release, x86_64-unknown-linux-gnu)
v8 10.0.139.6
typescript 4.6.2
我是否遗漏了一些关于为什么这不起作用的信息?
它在那里,但它似乎不在类型定义中,所以这就是您收到编译器错误的原因。您可以使用 @ts-
comment directive or the --no-check
CLI run argument 来避免编译器诊断并继续执行您的程序:
example.ts
:
const denoVersion = Deno.version.deno;
// @ts-expect-error
const segmenter = new Intl.Segmenter("en", { granularity: "grapheme" });
console.log({ denoVersion, segmenter });
> deno run example.ts
{ denoVersion: "1.20.4", segmenter: Intl.Segmenter {} }
MDN 文档说 Intl.Segmenter 在 Deno 1.8 及更高版本中受支持。但是在尝试使用它时,出现错误。
error: TS2339 [ERROR]: Property 'Segmenter' does not exist on type 'typeof Intl'.
我的代码很简单:
const SEGMENTER = new Intl.Segmenter('en', { granularity: 'grapheme' });
这是我的 Deno 版本信息:
deno 1.20.4 (release, x86_64-unknown-linux-gnu)
v8 10.0.139.6
typescript 4.6.2
我是否遗漏了一些关于为什么这不起作用的信息?
它在那里,但它似乎不在类型定义中,所以这就是您收到编译器错误的原因。您可以使用 @ts-
comment directive or the --no-check
CLI run argument 来避免编译器诊断并继续执行您的程序:
example.ts
:
const denoVersion = Deno.version.deno;
// @ts-expect-error
const segmenter = new Intl.Segmenter("en", { granularity: "grapheme" });
console.log({ denoVersion, segmenter });
> deno run example.ts
{ denoVersion: "1.20.4", segmenter: Intl.Segmenter {} }