[JavaScript] ??와 || 의 차이
·
JavaScript
JavaScript로 개발하다보면 값의 결정을 내려야 하는 경우가 있다. const getValue = () => { return value ? value : "" } 다음과 같이 value의 값이 있을 때 value 없을 때 다른 값을 넘기는 경우이다. 이때 예시와 같이 삼항 연산자를 사용할 수 있다. 하지만 다른 방법으로는 제목처럼 || 또는 ?? 를 사용할 수 있다. 지금까지는 그냥 손이 가는데로 사용했지만 이 둘의 차이가 뭘까? || 연산자 먼저 || 연산자는 논리 OR 연산자이다. 왼쪽의 피연산자가 truthy인 경우 왼쪽 피연산자를 반환하고 아니라면 오른쪽 피연산자를 반환한다. truthy라는 것은 뭘까? 이것은 조건식에서 true로 간주되는 모든 값을 의미한다. 대표적인 truthy 값으론 ..
nullish coalescing operator ( nullish 병합 연산자 : ?? )
·
JavaScript
nullish 병합 연산자 ?? 를 사용하면 조건식을 간단하게 처리할 수 있다. a ?? b 의 경우 a가 null이 아니고 undefined도 아니면 a 값을 return 그 외의 경우에는 b 값을 return 한다. x = (a !== null && a !== undefined) ? a : b 이 코드를 ?? 연산자를 사용해서 간단하게 처리가 가능하다. || 와 차이점 || 연산자의 경우에도 비슷한 처리가 가능하다. a ?? b 마찬가지로 a값이 있다면 a를, 없다면 b를 return 해준다. 그럼 차이점은 무엇일까? let height = 0; height = height || 100 // 100 height = height ?? 100 // 0 ||의 경우 0도 false에 해당하지만 ??의 경우..
[JavaScript] ?? 문법
·
JavaScript
우리가 조건을 처리할 때 가장 먼저 생각하는 것이 if문과 switch문이다. const ifCase = true; if(ifCase) console.log("True"); const switchCase = true; switch(switchCase) { case true: console.log("True"); break; default: console.log("False"); } 여기서 좀 더 간단하게 사용하고 싶은 경우에는 삼항연산자를 사용한다. const case = true; console.log(case ? "True" : "False") 최근에 알게된 것이 하나 더 있는데, ?? 연산자이다. ( 정확한 명칭은 아직 모르는 .... ) const a = undefinded; console.log..