조회 194
익명
3월 11일
const ewq = [1?({age:10},{age:105},{age:120},{age:15}):{age:1}] 여기서 콘솔에 ewq를 찍으면 {age:15}만 나오는데 저는 ({age:10},{age:105},{age:120},{age:15})가 나올거라고 생각했습니다. 맨 마지막인 {age:15}만 나오는 이유는 무엇일까요? ㅠㅠ
구체적이고 정성스러운 질문에 ↑Up 투표를 눌러주세요.
설명이 부족한 질문에 ↓Down 투표를 눌러주세요. 커리어리가 질문자에게 수정을 요청할게요.
답변 1
안녕하세요. 작성자님이 작성하신 코드는 아래에서 _ewq와 같은 값을 가질 것입니다. 여기서 소괄호(())는 대괄호([])와 역할이 다르며, 일반적으로 배열에서는 잘 사용되지 않습니다. 해당 문법에서는 배열 안에서 age 값 하나를 가진 오브젝트가 값을 10, 105, 120, 15 이렇게 덮어씌우는 것으로 보입니다. 그래서 마지막에 작성한 15가 값으로 콘솔에 찍히는 것이지요. 만약 의도하시는 것처럼 4개의 값이 모두 배열에 들어가게 하고 싶으시다면 아래에 __ewq 처럼 ... 연산자를 사용해서 배열 안에서 배열을 인식하도록 수정해 주면 될 것 같습니다.
1const _ewq = [({age:10},{age:105},{age:120},{age:15})];
2
3const __ewq = [...[{age:10},{age:105},{age:120},{age:15}]];
익명
작성자
3월 14일
우와 감사합니다!!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.