왜 자바스크립트에서 [9,8,7,6][1,2] = 7 일까?

재밌는 자바스크립트 퀴즈 문제가 있어서 들고와 봤습니다 :)) 한번 생각해보시고 스크롤 내려보세요!


이 코드에서 [1,2]는 배열이 아니고, array subscript로 동작합니다. javascript의 comma operator를 이해하면 문제가 풀립니다. (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator)

comma(,) 로 나눠져 있으면 가장 마지막 값을 리턴해주는 것인데요.

let x = 1;

x = (x++, x);
console.log(x); // Expected output: 2

x = (2, 3);
console.log(x); // Expected output: 3

다시 문제로 돌아가서 뒤 [1,2] 에서 comma operator로 보면 결국 [9,8,7,6][2] 이 되고 앞 array에서 index 2에 위치하고 있는 7이 되는 것입니다.


조금 더 변형해보자면 아래와 같겠죠?

[9,8,7,6][1,2,3] // outputs 6
[9,8,7,6][8,2,3,1] // outputs 8

Javascript Interview Question: Why does [9,8,7,6][1,2] = 7 ?

Medium

Javascript Interview Question: Why does [9,8,7,6][1,2] = 7 ?

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 2월 12일 오전 1:24

 • 

저장 15조회 4,136

댓글 0