【发布时间】:2019-09-20 16:20:12
【问题描述】:
当我尝试测试函数返回的值时,我经常被绊倒(通常是自动完成)。有时我忘记在它的末尾添加(),所以它总是返回true。
class Foo {
public bar(): boolean {
// return either true or false based on some logic
}
}
let foo = new Foo();
if (foo.bar) {
// UNINTENDED
// always returns true due to "foo.bar" being a function object
}
if (foo.bar()) {
// INTENDED
// may return true or false depending on logic of "foo.bar"
}
在使用前者时有什么方法可以得到通知/警告?在调试时,并不总是会发现我错过了函数调用并且很难查明问题。或者,有没有更好的方法来编写代码来避免这个问题?
我正在使用 VS Code,因此我愿意接受任何可能有助于警告我这个问题的 linting。
【问题讨论】:
-
您可以将
bar改为属性获取器..
标签: javascript typescript visual-studio-code