인프런 커뮤니티 질문&답변

Bora Ahn님의 프로필 이미지
Bora Ahn

작성한 질문수

생활코딩 - 자바스크립트(JavaScript) 기본

배열의 조작 - 추가

push, concat 메서드 질문 드립니다.

작성

·

195

0

var a = ['a','b','c']; a.push('d'); // ['a','b','c','d'] var b = ['a','b','c']; b = b.concat(['d','e']); //['a','b','c','d','e'] 강의 보면 push 와 concat 사용을 위와 같이 말씀 주셨는데요. push를 concat 처럼 쓰면 a 에 리턴하면 형변환이 되어서 4가 출력이 되거든요. 또 반대로 concat을 push 처럼 쓰면 b에 'd','e' 가 담겨지지 않구요. var a = ['a','b','c']; a = a.push('d'); // 4 출력 var b = ['a','b','c']; b.concat(['d','e']); //['a','b','c'] 출력 Q. push를 concat 처럼 쓸때 왜 형변환이 되는지 궁금하구요. Q. concat을 push처럼 사용할 때 배열에 값을 담지 못하는지 궁금합니다.

답변 1

0

저도 이 문제때문에 인터넷을 찾아봤는데 concat을 사용하고 다시 배열을 조회했을때 새로 붙여넣은 값이 안뜨는 이유는 concat 함수는 기존 배열을 바꾸는 것이 아니라 붙임과 동시에 얕은 복사본을 하나 만드는 것이라고 하네요

Bora Ahn님의 프로필 이미지
Bora Ahn

작성한 질문수

질문하기