この形式の自己呼び出し関数に出くわしました。「!
」は何のためですか?
!function (a) {
// something
}(1);
既存の質問があるかどうかはわかりません。これが重複している場合は申し訳ありません。
この形式の自己呼び出し関数に出くわしました。「!
」は何のためですか?
!function (a) {
// something
}(1);
既存の質問があるかどうかはわかりません。これが重複している場合は申し訳ありません。
! を使用することで、無名関数が評価されます (実行する必要があります)。それがないと、エラーが発生します。
そして、他の人が言ったように、関数を割り当てたり評価したりすると、関数が返す結果が反転します。
関数の戻り値が何かに割り当てられない限り、not は無意味です。割り当てられている場合、左側は自己実行関数の結果の not を取得します。結果は、明示的に返された値、または関数で最後に計算された値になります。
何かを返す場合は、結果を逆にするだけです。
console.log(!(function(a) { return (a == 1); })(1));
false を返します。0 またはそれ以外を指定した場合は true。