Javascript Basic [Object - replit 32 :왜 객체를 써야 할까요?]

Seong Ho Kim·2023년 9월 30일
0

Javascript Basic - replit

목록 보기
32/41
post-thumbnail

Javascript Assignment 32 - [왜 객체를 써야 할까요?]

1) Object - 왜 객체를 써야 할까요?

객체(Object)란?

객체는 자바스크립트 데이터 타입 중의 하나입니다. 영어로는 object라고 표현합니다.
key값과 value값을 쌍으로 이루어져 있고, 배열과는 다르게 순서가 중요하지 않습니다.

예를 들어 다음과 같은 배열이 있다고 생각해봅시다.

const person1 = ['곽철용', 'AB형', 'ENFP', '바닐라라떼'];

위의 배열에는 특정 사람의 이름과 혈액형, MBTI, 좋아하는 커피에 대한 정보가 담겨있습니다.
우리가 원하는 정보를 얻기 위해서는 해당 배열에 있는 Index number를 기억해야 합니다.

또 다른 사람이 있다고 생각해봅시다.

const person2 = ['아이스아메리카노', 'INTP', '홍혁팔', 'O형'];

person2는 person1의 정보와 다른 순서로 값이 뒤섞여 있습니다.
사람이 두 명일 때는 괜찮지만, 100명이라면 어떻게 될까요? 자료를 처리하기 힘들어지겠죠?

그래서 나온 개념이 바로 객체입니다.


객체만들기
객체를 생성할 때는 {} 안에 key와 value를 쌍으로 묶어서 만들어 줍니다.
key값이 여러개일 때는 쉼표(,)로 구분해줍니다. 객체를 만드는 방법은 여러가지인데 
그 중에 아래와 같이 중괄호를 이용해 만드는 방식을 Object Literal 이라고 합니다.

예시)
const person1 = {
  name: '곽철용',
  bloodType: 'AB형',
  mbti: 'ENFP',
  favoriteCoffee: '바닐라라떼'
}

객체로 표현하면 순서가 없기 때문에 index number를 기억하지 않아도 됩니다.
우리가 원하는 정보의 key값만 알면 정보에 접근할 수 있습니다.

Assignment

myself라는 이름의 객체가 있습니다.

1. 본인의 이름, 혈액형, mbti, 좋아하는 커피를 토대로 객체를 만들어보세요!
- key 값으로는 name, bloodType, mbti, favoriteCoffee를 입력해주세요!
- key 값에 오타가 발생하면 채점에 문제가 생길 수 있습니다.

Assignment - Javascript Code

function iAmGround() {
  let myself = {
    name: "Seong Ho Kim",
    bloodType: "+AB",
    mbtl: "ISFJ",
    favoriteCoffee: "Ice americano"
  }
  return myself;
}
console.log(iAmGround()); // { bloodType: "+AB", favoriteCoffee: "Ice americano", mbtl: "ISFJ", name: "Seong Ho Kim" }

Personal Assignment

2. 프론트앤드 개발자로 근무하고 있는 당신은 인적정보를
수정하기 위해 설정창에 들어가 정보를 적던중 눈에 띄는 새로운
인적사항을 확인하게 됩니다. 이때, 인적정보중에 해당객체만
따로 출력하세요

- developerInfo 라는 함수를 만들어 주세요
- develop_myself 라는 변수를 만들어 객체로 할당시켜 주세요
- 객체 전체가 아닌 해당 객체 value만 접근해서 출력해야 합니다.

힌트)
- 출력하고자 하는 객체 value에 배열 index와 관련있습니다.

Personal Assignment - Javascript Code

const developerInfo = () => {
  let develop_myself = [{
    name : "Wecode Kim",
    mbti : "ISTJ",
    favoriteFood : ["마라탕","마파두부","멘보샤"]
  }]
  return develop_myself[0].favoriteFood[2];
}
console.log(developerInfo()); // "멘보샤"
profile
삶을 개선하기 위해 노력하는 Junior UIUX Designer 입니다 😊

0개의 댓글