如何激活TypeScript的类型验证?



我正在尝试遵循一个教程,其中这个示例代码预计会失败。但在我的机器上运行得很好。

// example.ts
let age: number;
age = 15;
console.log(age);
age = "foo";
console.log(age);

这是我看到的:

$ deno run example.ts
15
foo

我预计它会失败与TS2322代码。

$ deno --version
deno 1.23.1 (release, x86_64-unknown-linux-gnu)
v8 10.4.132.8
typescript 4.7.2

见解吗?

从v1.23开始,默认情况下,Deno在执行代码时不进行类型检查。

您可以使用命令deno check对代码进行类型检查(不执行它)。您还可以在执行前使用--check参数对deno run进行类型检查。以下是使用example.ts模块的一些示例:

% deno --version
deno 1.23.1 (release, x86_64-apple-darwin)
v8 10.4.132.8
typescript 4.7.2
% cat example.ts 
let age: number;
age = 15;
console.log(age);
age = "foo";
console.log(age);
% deno check example.ts 
Check file:///Users/deno/example.ts
error: TS2322 [ERROR]: Type 'string' is not assignable to type 'number'.
age = "foo";
~~~
at file:///Users/deno/example.ts:6:1
% deno run --check example.ts
Check file:///Users/deno/example.ts
error: TS2322 [ERROR]: Type 'string' is not assignable to type 'number'.
age = "foo";
~~~
at file:///Users/deno/example.ts:6:1
% deno run --check=all example.ts
Check file:///Users/deno/example.ts
error: TS2322 [ERROR]: Type 'string' is not assignable to type 'number'.
age = "foo";
~~~
at file:///Users/deno/example.ts:6:1

相关内容

  • 没有找到相关文章