boolean(논리) 값과 함께 사용해서 boolean 값을 반환하며
종류는 다음과 같다.
연산자 중 둘 다 참일 때 true를, 그 외에는 false를 반환한다.
ex)
let and = true && false;
console.log(and); // false
1) 연산자의 왼쪽부터 false 값을 탐색한다.
2) false 값을 찾으면 해당 값을 반환한다.
3) 마지막에 도착하면 마지막 해당 값을 반환한다.
let a1 = true && true; // t && t returns true
let a2 = true && false; // t && f returns false
let a3 = false && true; // f && t returns false
let a4 = false && (30 == 31); // f && f returns false
let a7 = "kang" && false; // t && f returns false
연산자 중 하나라도 true라면 전부 true,
모두 false 라면 false를 반환한다.
ex)
let or = true || false;
console.log(or); //true
1) 연산자의 왼쪽부터 true 값을 탐색한다.
2) true 값을 찾으면 해당 값을 반환한다.
3) 마지막에 도착하면 마지막 해당 값을 반환한다.
let o1 = true || true; // t || t returns true
let o2 = false || true; // f || t returns true
let o3 = true || false; // t || f returns true
let o4 = false || (3 == 4); // f || f returns false
let o6 = false || "kang"; // f || t returns kang
let o7 = "kang" || false; // t || f returns kang
값을 반대로 바꿔주는 연산자
ex)
const a = false;
console.log(!a); //true
단일 피연산자를 true로 변환할 수 있으면 false를 반환.
그 외에는 true를 반환.
k1 = !true // !t returns false
k2 = !false // !f returns true
k3 = !'' // !f returns true
k4 = !'kang' // !t returns false
n1 = !!true // !!truthy returns true
n2 = !!{} // !!truthy returns true: any object is truthy...
n3 = !!(new Boolean(false)) // ...even Boolean objects with a false .valueOf()!
n4 = !!false // !!falsy returns false
n5 = !!"" // !!falsy returns false
n6 = !!Boolean(false) // !!falsy returns false
ex)
const k = false;
console.log(!!k); // false
Reference
MDN
코드 쥬래건씨의 논리 연산자