-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
void 在 JavaScript 与 TypeScript 中的对比使用 #58
Comments
sisterAn
added a commit
that referenced
this issue
Sep 23, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
如果你对强类型有所了解的话,你一定听说过或使用过
void
,它代表调用的方法不存在任何返回内容。void
同样在JavaScript
以及TypeScript
中也存在,只不过,在JavaScript
中,void
作为一个操作符,而在TypeScript
中,void
作为一个基本类型,并且它在JavaScript
和TypeScript
中的使用,也是有所不同的。JS 中的 void
在
JavaScript
中void
是计算其临近的表达式的运算符。无论计算哪个表达式,void
始终返回undefined
。直接定义
let i
不好吗,为什么要使用void 2
?首先,在
JavaScript
早期,人们能够重写undefined
并赋予它一个真实的值。而void
则能返回真正的undefined
。其次,它是调用立即执行函数的好方法:
在不污染全局命名空间的情况下:
由于
void
始终返回undefined
,并且void
始终计算其临近的表达式,因此你可以通过返回一个void
函数,即不会返回任何具体值,但仍调用void
临近函数,例如:这就是
void
最重要的功能:它是应用的安全门。当函数需要始终返回undefined
时,可以使用void
。TS 中的 void
TypeScript
中的void
是undefined
的子类型。JavaScript
中的函数总是返回一个值,或undefined
:由于
JavaScript
没有返回值的函数总是返回undefined
,而void
在JavaScript
中又总是返回undefined
,因此TypeScript
中的void
是一种类型,它代表此函数返回undefined
:void
也可以用于参数列表或其他声明中。 它唯一可以传递的值是undefined
:因此
void
和undefined
几乎相同。 不过,两者之间也有一点小小的但很重要的差异:void
作为返回类型可以用不同的类型代替,以允许使用高级回调模式 :这是期望的行为,经常在
JavaScript
应用程序中使用。如果你想要函数仅仅返回
undefined
,请调整你的回调方法签名:至此,你将会更好的使用
void
。参考
https://fettblog.eu/void-in-javascript-and-typescript/
The text was updated successfully, but these errors were encountered: