javascript - 使用 Typescript 时无法控制台登录简写箭头功能

标签 javascript typescript

在 javascript 中调试箭头函数时,您可以这样编写:

const sum = (a, b) => console.log(a, b) || a + b;

这将首先控制台日志ab然后返回函数的实际结果。
但是当使用 Typescript 时,它会提示无法测试控制台日志的真实性:

An expression of type 'void' cannot be tested for truthiness



这感觉像是一个有效的提示,但同时它是调试箭头函数的一个巧妙技巧,如果可能的话,我非常希望不必在任何有箭头函数的地方添加花括号。

即使日志只是暂时存在,有没有办法让 Typescript 接受这种模式而不使用 @ts-ignore ?

最佳答案

将其更改为使用逗号运算符:

const logger = (a, b) => (console.log(a, b), a + b);

关于javascript - 使用 Typescript 时无法控制台登录简写箭头功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60390364/

相关文章:

javascript - 如何在angularjs中获取输入类型文件的值?

typescript - 是否有一种简洁的功能方法来断言集合中元素的类型?

typescript - 如何向现有对象添加属性以满足 typescript 中的接口(interface)?

javascript - 在 VueJs 中将元素从代码隐藏渲染到 v-html

angular - 获取错误 : formGroup expects a FormGroup instance. 请传入一个

javascript - 播放音频时创建弹跳圈

php - 将 php 变量传递给动态生成的 div 的 onclick 事件

javascript - django ajax 集合更改

javascript - jQuery:在特定窗口大小中添加或删除函数

typescript - 我可以在构建时将参数传递给 angular-cli