[JS] 쉼표 연산자

전미혜·2023년 3월 9일
0

쉼표 연산자

사실 쉼표 연산자는 MDN에 나와있는 것처럼 한 줄로 정리된다.

쉼표 연산자는 각각의 피연산자를 왼쪽에서 오른쪽 순서로 평가하고, 마지막 연산자의 값을 반환한다.

다음 예제를 보면 확실하게 이해할 수 있다.

let x = 1, y = 2, z = 3;
console.log(x, y, z);

// 마지막으로 실행한 것 반환
console.log(
  (++x, y += x, z *= y)
);
//결과는 12
let a = (obj, value) => {
   obj+=value;
   obj+=value;
   return obj;
}

a(1,2); // 5

정말 자주 쓰는 map() 이나 reduce() 고차함수에서도 요긴하게 쓰일 수 있다.

let arr = [1,2,3,4,5];

let aa = arr.reduce((obj,value) => {
   obj+=value; 
   return obj
}, 0);

let bb = arr.reduce((obj,value) => (obj+=value, obj), 0);

console.log(aa); // 15
console.log(bb); // 15

결론

이처럼 간단한 실행 코드를 콤마 연산자로 표현하면 코드 줄 수를 확실히 줄인다는 장점이 있다.
콤마연산자는 코드를 한줄로 간단히 줄일수는 있지만, 가독성에서는 그리 좋지 못한 문법이다.
그래도 이런 스타일의 자바스크립트 코딩을 하는 사람들이 꽤 되기에, 권장되지는 않지만 코드를 읽으려면 일단 배워두는 것이 좋다.

참고자료 : comma-operator(MDN),
https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-%EC%BD%A4%EB%A7%88%EC%97%B0%EC%82%B0%EC%9E%90-a-b-c

profile
내 개발 인생의 Bootstrapping

0개의 댓글