home강의 홈으로
Section 2. 자료형과 연산자
Lesson 9. 객체와 배열 미리보기

💡 객체와 배열은 원시타입이 아닌 참조 reference 타입

  • 앞서 다룬 자료형들은 원시 primitive 타입
  • 둘의 차이는 다음 강에서 다룰 것



I. 객체 미리보기

  • 자바스크립트에서 원시 타입이 아닌 모든 데이터는 근본적으로 객체
  • 복합적인 정보를 프로퍼티 property - (의 조합)으로 저장하는 자료형
const objName = { key1: value1, key2: value2, ... }; // ⚠️ 블록이 아님!

const person1 = { name: '김철수', age: 25, married: false }; console.log(typeof person1); console.log(person1);

1. 프로퍼티 접근

💡 속성값에 접근하는 두 방법

console.log( person1.name, person1.age, person1.married ); console.log( person1['name'], // 속성명을 string으로 person1['age'], person1['married'], );

💡 존재하지 않는 키로 접근시 undefined 반환

console.log(person1.birthdate); console.log(person1['job']);

(키) in (객체) - 특정 키 포함 여부 확인

console.log( 'age' in person1, 'job' in person1 );

2. 프로퍼티 수정 및 추가

// 특정 프로퍼티의 값 변경 person1.age = 26; person1['married'] = true console.log(person1); // 새 프로퍼티 추가 person1.job = 'developer'; person1['bloodtype'] = 'AB' console.log(person1);
  • 💡 const임에도 그 내용은 수정할 수 있음에 주목!




II. 배열 미리보기

const winners = [12, 592, 7, 48]; const weekdays = ['월', '화', '수', '목', '금', '토', '일']; // 자료형에 관계없이 한 배열에 넣을 수 있음 const randoms = ['홍길동', -24, true, null, undefined]; console.log(typeof winners); console.log(winners, weekdays, randoms);

1. 값과 길이 접근

// 특정 순서의 값에 접근하는 법 (0부터 시작) console.log(winners[0], weekdays[6], randoms[3]); // 배열의 길이(요소의 갯수)를 얻는 법 console.log(winners.length, weekdays.length, randoms.length); // 마지막 요소 얻기 console.log(winners[winners.length - 1]);

2. 수정 및 추가

const numbers = [1, 2, 3]; // 특정 위치의 값 수정 numbers[2] = 5; console.log(numbers); // 맨 끝에 값 추가 numbers.push(10); console.log(numbers);
  • 💡 const임에도 그 내용은 수정할 수 있음에 주목!
  • 기타 방법들은 배열 섹션에서 배우게 될 것


💡 배열의 범주 너머로 접근시 undefined 반환

const winners = [12, 592, 7, 48]; console.log(winners[winners.length]);



⭐️ 중첩 사용 가능

const person2 = { name: '김달순', age: 23, languages: ['Korean', 'English', 'French'], education: { school: '한국대', major: ['컴퓨터공학', '전자공학'], graduated: true, } }; console.log(person2.languages[2]); console.log(person2.education.graduated); const groups = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]; const weapons = [ { name: '롱소드', damage: 30, design: ['화룡검', '뇌신검'] }, { name: '활', damage: 12 }, { name: '워해머', damage: 48 }, ]; console.log(groups[1][2]); console.log(weapons[2].damage); console.log(weapons[0].design[0]);

🤔얄코에게 질문하기질문은 반.드.시 이리로 보내주세요! ( 강의사이트 질문기능 ✖ )

강의에서 이해가 안 되거나 실습상 문제가 있는 부분,
설명이 잘못되었거나 미흡한 부분을 메일로 알려주세요!

답변드린 뒤 필요할 경우 본 페이지에
관련 내용을 추가/수정하도록 하겠습니다.

이메일 주소
yalco@yalco.kr
메일 제목 (반드시 아래 제목을 붙여넣어주세요!)
[질문] 제대로 파는 자바스크립트 (무료 파트) 2-9

🛑질문 전 필독!!

  • 구글링을 먼저 해 주세요. 들어오는 질문의 절반 이상은 구글에 검색해 보면 1분 이내로 답을 찾을 수 있는 내용들입니다.
  • 오류 메시지가 있을 경우 이를 구글에 복붙해서 검색해보면 대부분 짧은 시간 내 해결방법을 찾을 수 있습니다.
  • 강의 페이지에 추가사항 등 놓친 부분이 없는지 확인해주세요. 자주 들어오는 질문은 페이지에 추가사항으로 업데이트됩니다.
  • "유료파트의 강의페이지는 어디 있나요?" - 각 영상의 시작부분 검은 화면마다 해당 챕터의 강의페이지 링크가 있습니다.
  • 질문을 보내주실 때는 문제가 어떻게 발생했고 어떤 상황인지 등을 구체적으로 적어주세요. 스크린샷을 첨부해주시면 더욱 좋습니다.
🌏 Why not change the world?