Javascript TypeScript中的true作为false类型断言

Javascript TypeScript中的true作为false类型断言,javascript,typescript,types,boolean,Javascript,Typescript,Types,Boolean,在TypeScript中,为什么以下代码被认为是有效的(不会引发编译器错误): const bool=true为false; 我想知道实现方面的问题,以及作为语言设计决策的问题?这就是类型断言的含义。你(见“意义一”)认为某事物是给定的类型。这应该有助于解释为什么不能轻率地使用类型断言-如果断言不正确,则是故意误导编译器。同意@VLAZ。当您使用as时,这意味着您要对这一行代码负责,而不是TypeScript编译器。那么,编译器错误的原因是const num=true as number?@D

在TypeScript中,为什么以下代码被认为是有效的(不会引发编译器错误):

const bool=true为false;

我想知道实现方面的问题,以及作为语言设计决策的问题?

这就是类型断言的含义。你(见“意义一”)认为某事物是给定的类型。这应该有助于解释为什么不能轻率地使用类型断言-如果断言不正确,则是故意误导编译器。同意@VLAZ。当您使用
as
时,这意味着您要对这一行代码负责,而不是TypeScript编译器。那么,编译器错误的原因是
const num=true as number?@DennisKats正如错误消息所说,值不重叠。这是一种防止类型断言错误的方法,但它甚至不是一种很好的方法,因为当断言有意义时,它可以标记为肯定。