해야할 것은 많다. 그러나 약간 방향을 못 잡은 감이 없지 않다. 우선은 복습에 집중하고 있다. 화이팅하고 시작해야 하는 금요일이다.
알고리즘에서 레퍼런스 코드를 보면 의외로 많이 보이는 것들이 있다. 바로 논리연산자 인데 if
안에 조건문으로는 많이 사용하였는데, 다른 기능들을 알아보자.
if문에서는 둘중 하나 라도 true 이면 true를 반환하였다. 추가적인 기능으로는 연산자가 여러 개 있을 경우 이다.
우선 예시를 보자.
let a = 0
let b = 1
let c = true
let result = a || b || c
console.log(result) //1
a 는 0이기 때문에 falsy한 값으로 false이다. b와 c는 truthy이다. 그런데 반환값은 '1'이다. 그 이유는 다음과 같이 작동한다고 한다.
let a = 0
let b = undefined
let c = null
let result = a || b || c
console.log(result) //null
||
개념을 정리하자면 왼쪽부터 피연산자를 truthy/falsy한지 검증하고, 그 중 하나라도 truthy하면 반환하고, 모두 falsy하다면 마지막 피연산자를 반환 하는 것으로 이해 한다. 그렇다면 &&
는?
논리 연산자 또한 조건문에 대해서는 패스하겠다. 피연산자와 사용 할 경우 동작은 다음과 같다고 한다.
//왼쪽부터 오른쪽으로 연산을 시작하여
//falsy한 첫 번째 피연산자를 반환한다.
let a = 1
let b = 0
let c = true
let result = a && b && c
console.log(result) //0
//모두가 truthy한 경우 가장 마지막 피연산자를 반환한다.
let a = 1
let b = true
let c = "hi"
let result = a && b && c
console.log(result) //'hi'
[Logical OR (||), MDN, 2022년07월18일]
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR
[논리 연산자, javascript.info, 2022년07월18일]
https://ko.javascript.info/logical-operators