JavaScript 中的双重否定 (!!) - 目的是什么?
2022-08-30 02:06:43
我遇到过这段代码:
function printStackTrace(options) {
options = options || {guess: true};
var ex = options.e || null, guess = !!options.guess;
var p = new printStackTrace.implementation(), result = p.run(ex);
return (guess) ? p.guessAnonymousFunctions(result) : result;
}
我不禁想知道为什么是双重否定?有没有另一种方法可以达到同样的效果?
(代码来自 https://github.com/eriwen/javascript-stacktrace/blob/master/stacktrace.js。)