inflearn logo
강의

Khóa học

Chia sẻ kiến thức

JavaScript hoàn thành trong một lần: Từ JavaScript thuần đến phát triển SPA

Mảng

객체와 배열의 const 차이

Đã giải quyết

46

moonie

2 câu hỏi đã được viết

0

const로 했을 때 객체는 수정이 되고 배열은 수정이 안된다는 설명 부분이 이해가 잘 안됩니다. 고유 ID가 아니라는 말도 이해가 잘 안되는데 보충 설명을 받을 수 있을까요?

javascript rest-api spa dom

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 이선재님.

const 키워드는 변수를 선언하지만, 이 변수가 참조하고 있는 객체나 배열의 값을 변경할 수 없다는 의미는 아닙니다. const로 선언된 변수는 재할당이 불가능하지만, 객체나 배열 같은 경우에는 그 내부의 값을 변경할 수 있습니다. 이 때문에 객체와 배열은 “불변”하지 않다고 할 수 있습니다.

객체와 배열의 const 선언 차이

  • 객체와 배열은 참조형 데이터입니다. 이는 변수가 실제로 담고 있는 것은 객체나 배열이 아니라, 그들이 저장된 메모리 주소입니다.

  • const로 선언하면 변수 자체는 같은 메모리 주소를 계속 참조하지만, 그 주소에 저장된 객체나 배열의 속성이나 요소는 수정할 수 있습니다.

  • 고유 ID가 아니라는 점은 변수 자체가 객체나 배열의 상태를 고유하게 보장하지 않기 때문에, 내부 상태는 변할 수 있다는 의미입니다.

예를 들면:

const arr = [1, 2, 3];
arr[0] = 10; // 가능
arr = [4, 5, 6]; // 오류, 재할당 불가!

const obj = { a: 1, b: 2 };
obj.a = 10; // 가능
obj = { a: 3, b: 4 }; // 오류, 재할당 불가!

위 예시에서 보시다시피, const로 선언한 객체 obj와 배열 arr의 내부 값 또는 속성은 변경할 수 있지만, 자체 재할당은 불가능합니다. 이 점을 기억하면 const 키워드의 사용에 있어 유용할 것입니다.

보다 자세한 설명을 원하시면, 관련 질문에 대한 유사한 답변도 확인해 보실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

콜백 함수 메서드 등록

0

82

2

ssr방식 경험

0

76

1

compare 함수 설명에 오해의 소지가 있어보입니다.

0

83

2

API를 비동기 처리하는 이유가 끊겨서 그런건가요?

0

98

2

DOM 트리 보는 곳

0

81

1

배열과 객체의 구조분해할당 방법이 다른 이유

0

82

2

배열 메서드가 순수 함수인지 확인하는 방법

0

72

2

콜백 함수의 매개변수로 _를 쓰는 이유가 무엇인가요?

0

71

2

콜백 함수의 매개변수는 어떻게 구분되나요?

0

59

1

호이스팅 안쓰는게 좋나요?

0

54

2

함수 선언식과 함수 표현식은 어떤 경우에 쓰면 좋나요?

0

82

2

?. 연산자는 자바스크립트 연산자인가요?

0

47

1

JS의 논리 연산자 &&, ||가 리액트의 조건부 렌더링 &&, ||인가요?

0

83

2

자바스크립트 질문

1

103

2

동물앨범만들기 1-1 api 오류

0

54

2

CityList개발-handleLoadMore함수질문

0

71

1

const 객체/배열 차이

0

63

2

header 개발 새로고침 오류

0

67

2

Promise 객체

1

58

2

cityList 렌더가 안되는 문제

0

55

2

init 함수 앞에 await

1

66

2

동물 앨범 만들기 pushtState 관련

0

60

2

동물 앨범 만들기 사진 관련 문의

0

75

2

자바스크립트 첫걸음 교재 질문..

1

81

2