我正在尝试遵循一个教程,其中这个示例代码预计会失败。但在我的机器上运行得很好。
// 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