ECMA2021: Logical Assignment Operator

jungmin kim·2023년 1월 2일
0

logical OR Assignment

변수 ||= "값"

기본 형태는 위와 같다.

변수가 falsy, 즉 undefined, false, 빈 문자열, 0, null값에 해당하는 경우
나타난다.

위 예제코드는 노마드코더 수업을 듣고 내가 구현해보았다.
catName이라는 변수에 prompt 코드를 넣었다.
prompt창이 묻는 말에 아무 값도 입력안하고 '확인' 혹은 '취소'를 누르니
logical OR Assignment변수로 지정한 값 '애옹'이 console창에 나타났다.

logical AND Assignment

변수 &&= "값"

위 Operator는 logical OR Assignment와 반대다.
변수가 truthy, 즉 텍스트, 문자열 등 위 falsy의 반대값이 들어갈 경우
원래있는 값을 수정해주고 덮어쓰는 역할을 한다.


위와 같이 코드를 짰다. 나에게 자꾸 '똥개'라고 놀리는 누군가를 생각하며 짜보았다.


결과는 내가 바라는대로 아주 잘나왔다.
Animal객체에 cat이라는 key와 value로 "애옹"이라는 텍스트값이 존재하기때문에
&&= operator가 잘 구현되었다.
그리고 min과 jw는 Animal객체의 key가 아니기때문에 undefined값으로 들어간다.
따라서 ||= operator가 잘 적용되었다.

logical Nullish Assignment

변수 ??= "값"

위 operator는 ||= operator를 보완할 수 있다.
??= operator는 오로지 null, undefined만 확인을 하기 때문이다.
따라서 혼동을 줄일 수 있다.



위 코드처럼 isAngry key가 null값인데, ??= operator로 true값을 넣어주자 true로 잘나타난다.

누군가를 놀리는 맛으로 복습용 코드를 짰는데,
재미지고 기억에 더 남는 것 같다 ㅎㅎ
종종 이 방법을 써먹어야겠다 ㅎㅎ

0개의 댓글