객체에 먼저 넣은 이름이 Object.keys에서도 먼저 나올까?
숫자 모양의 키와 일반 문자열 키를 같은 객체에 넣고, 추가·삭제 뒤의 실제 나열 순서를 비교합니다.
그림에서 무엇을 볼까요?
name·10·2·note의 대입 순서와 Object.keys의 2·10·name·note 결과를 나란히 놓고 배열 인덱스와 일반 문자열을 구별한 그림
가상 자료 카드의 이름을 name, 10, 2 순서로 자바스크립트 객체에 넣었다고 합시다. AI가 ‘객체는 입력 순서를 유지한다’고만 설명하면 Object.keys의 첫 결과를 name으로 예상할 수 있습니다. 실제로 이 활동에서 나오는 순서는 "2", "10", "name"입니다. 값이 사라진 것이 아니라 키를 나열하는 규칙이 작동했습니다.
키는 속성의 이름입니다. 오브젝트 키즈(Object.keys, 객체 키 나열)는 객체 자체가 가진, 나열 가능한 문자열 키를 배열로 돌려줍니다. 활동에서는 새 일반 객체를 만들고 단순 대입만 하므로 모든 선택 키가 이 조건에 해당합니다. 화면에는 대입 기록과 반환 배열을 따로 표시합니다.
함께 확인할 점
기본 대입 기록과 Object.keys 결과를 비교하고 앞뒤가 바뀐 키를 찾습니다. 값 갱신과 삭제 후 재생성을 각각 선택해 name의 위치가 달라지는지 봅니다. 01·-1이 들어 있는 입력 묶음으로 바꾸고, 숫자 키 2의 재생성 결과를 확인한 뒤 초기화합니다.
생각해 볼 질문
키 나열 결과만 보고 입력 시각을 추정한 AI 설명을 고쳐 쓰고, 순서를 확실히 남길 자료 구조를 제안하세요.
