무엇을 위해 여기에 왔을까? 무엇 때문에 태어났을까? 여기는 어디인가? 현재를 살아간다는 건 도대체 어떤 의미가 있을까? 죽음이란 어떤 상태일까? 이 당연한 의구심을 한 번도 가져보지 않았다면 인간으로서 어딘가 이상한 것이라고 생각합니다.
- 고이데 요코의《깨달음이 뭐라고》중에서 -
* 좌표를 잃으면 자신이 서 있는 자리가 어디인지 모릅니다. 인생 목표가 없으면 방향을 잃고 표류합니다. 사람으로 태어나 그냥저냥 살다가 그냥저냥 떠날 수는 없습니다. 언제 어디서나 자신의 좌표와 목표를 수시로 확인해야 합니다. 최소한 지금 서 있는 곳이 어디인지 그것만이라도 살펴봐야 합니다.
nullish 병합 연산자(nullish coalescing operator)??를 사용하면 짧은 문법으로 여러 피연산자 중 그 값이 ‘확정되어있는’ 변수를 찾을 수 있습니다.
a ?? b의 평가 결과는 다음과 같습니다.
a가null도 아니고undefined도 아니면a
그 외의 경우는b
nullish 병합 연산자??없이x = a ?? b와 동일한 동작을 하는 코드를 작성하면 다음과 같습니다.
x = (a !== null && a !== undefined) ? a : b;
비교 연산자와 논리 연산자만으로 nullish 병합 연산자와 같은 기능을 하는 코드를 작성하니 코드 길이가 길어지네요.
또 다른 예시를 살펴봅시다.firstName,lastName,nickName이란 변수에 사용자 이름이나 별명을 저장하는데, 사용자가 아무런 정보도 입력하지 않는 케이스도 허용한다고 해보겠습니다.
화면엔 세 변수 중 실제 값이 있는 변수의 값을 출력하는데, 세 변수 모두 값이 없다면 '익명의 사용자’가 출력되도록 해보죠.
이럴 때 nullish 병합 연산자??를 사용하면 값이 정해진 변수를 간편하게 찾아낼 수 있습니다.
let firstName = null;
let lastName = null;
let nickName = "바이올렛";
// null이나 undefined가 아닌 첫 번째 피연산자
alert(firstName ?? lastName ?? nickName ?? "익명의 사용자"); // 바이올렛
행복은 얼마나 많은 것을 소유하고 누리며 사느냐에 있는 게 아니라, 작은 것이라도 서로 나누며 사랑하는 마음에 있다. 우리는 상대가 행복해하면 나도 행복해진다는 단순한 진리를 잘 알지 못한다. 성공해서 그 부를 이웃에게 베풀면서 살겠다는 믿음을 인생의 목적으로 삼는 순간, 성공할 수 있을 것이다. 그것이 바로 목적의 힘이다. - 호아킴 데 포사다, ‘난쟁이 피터’에서
이어지는 내용입니다. “남들이 행복해 지도록 돕는 건 그를 사랑한다는 뜻과 같은 뜻이지요. 이것이 궁극적인 행복이랍니다. 사랑하는 사람이 이루고자 하는 목표를 가지고 있다면, 그가 그걸 이룰 수 있도록 도와줘야만 해요. 인류의 수많은 현자가 찾아 헤매고 발견해낸 행복의 지름길이 바로 여기에 있어요.”