JavaScript/!
表示
!( Logical NOT Operator ) は、ECMAScript における論理否定演算子です。この演算子は、オペランドの真偽値を反転させます。オペランドが true と評価される場合、 false を返し、 false と評価される場合、 true を返します[1]。
構文
[編集]! expression
expression: 真偽値に変換される式。
この演算子は、以下のように使用されます:
let result = !expression;
例
[編集]基本的な使用法
[編集]以下のプログラムは、論理否定演算子の基本的な使用法を示しています。
// 基本的な使用法 let a = true; let b = false; console.log(!a); // false console.log(!b); // true
このプログラムでは、a の値が true なので !a は false を返し、b の値が false なので !b は true を返します。
条件式での使用
[編集]以下のプログラムは、条件式で論理否定演算子を使用する例を示しています。
// 条件式での使用 let isLoggedIn = false; if (!isLoggedIn) { console.log("Please log in."); // "Please log in." }
このプログラムでは、isLoggedIn が false の場合にメッセージが表示されます。
複雑な式での使用
[編集]以下のプログラムは、複雑な式で論理否定演算子を使用する例を示しています。
// 複雑な式での使用 let x = 10; let y = 20; console.log(!(x > y)); // true console.log(!(x < y)); // false
このプログラムでは、x > y が false なので !(x > y) は true を返し、x < y が true なので !(x < y) は false を返します。
オブジェクトのプロパティでの使用
[編集]以下のプログラムは、オブジェクトのプロパティに対して論理否定演算子を使用する例を示しています。
// オブジェクトのプロパティでの使用 const obj = { isActive: false }; console.log(!obj.isActive); // true
このプログラムでは、obj.isActive が false なので !obj.isActive は true を返します。
注意点
[編集]- 真偽値への変換: 論理否定演算子は、オペランドを真偽値に変換します。例えば、
0、null、undefined、NaN、""はfalseに変換され、それ以外の値はtrueに変換されます。 - 副作用: 論理否定演算子自体は副作用を持ちませんが、オペランドの評価に副作用がある場合、その副作用が発生します。
脚註
[編集]- ^ 論理否定演算子は、条件式や真偽値の反転に広く使用されます。