Javascript

[개념 문제] 09.object - 2. 객체 속성 접근(Dot Notation) / 3.Braket Notation/ 4. 변수를 사용한 객체 속성 접근 (feat.데이터 타입)

selonjulie 2022. 5. 5. 16:19

데이터 타입

구분 데이터 타입 설명
원시타입 숫자number타입 숫자, 정수와 실수 구분없이 하나의 숫자 타입만 존재
  문자열string 타입 문자열
  불리언boolean 타입 논리적 참true, 거짓false
  undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값
  null 타입 값이 없다는 걸 의도적으로 명시할 때 사용하는 값
  심벌symbol 타입 ES6에서 추가된 7번째 타입
객체타입   객체, 함수, 배열 등

! 자바스크립트는 객체 기반의 언어이며, 자바스크립트를 이루고 있는 거의 모든 것이 객체라는 것이다!

원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조다. 또한 원시타입의 값, 즉 원시 값은 변경 불가능한 값이지만 객체 타입의 값, 즉 객체변경 가능한 값이다. 

 

 

2. 객체 속성 접근(Dot Notation)

Assignment

  • dotNotation 함수를 작성해주세요.
  • 마침표 연산자(.)를 사용하여 객체의 property 값에 접근해주세요.
  • 변수 hatValue의 값으로 "hat" property의 value값을 할당해주세요.
  • 변수 shirtValue의 값으로 "shirt" property의 value값을 할당해주세요.

문제

function dotNotation() {
  // 아래의 코드는 수정하지 마세요.
  let testObj = {
    "hat": "ballcap",
    "shirt": "jersey",
    "shoes": "cleats"
  };

  // 아래의 코드를 수정해주세요.
  let hatValue = testObj;
  let shirtValue = testObj;    
  
  // 아래의 코드는 수정하지 마세요.
  return hatValue + ' ' + shirtValue;
}

풀기

function dotNotation() {
  let testObj = {
    "hat": "ballcap",
    "shirt": "jersey",
    "shoes": "cleats"
  };
  let hatValue = testObj.hat;
  let shirtValue = testObj.shirt;   
  return hatValue + ' ' + shirtValue;
}
console.log(dotNotation())
//'ballcap jersey'

3. 객체 속성 접근(Bracket Notation)

Assignment

  • bracketNotation 함수를 작성해주세요.
  • 대괄호([])를 사용하여 객체의 property 값에 접근해주세요.
  • 변수 entreeValue의 값으로 "an entree" property의 value값을 할당해주세요.
  • 변수 drinkValue의 값으로 "the drink" property의 value값을 할당해주세요.

문제

function bracketNotation() {
  // 아래의 코드는 수정하지 마세요.
  let testObj = {
    "an entree": "hamburger",
    "my side": "veggies",
    "the drink": "water"
  };

  // 아래의 코드를 수정해주세요.
  let entreeValue = testObj;
  let drinkValue = testObj;
  
  // 아래의 코드는 수정하지 마세요.
  return entreeValue + ' ' + drinkValue;
}

풀기

function bracketNotation() {
  let testObj = {
    "an entree": "hamburger",
    "my side": "veggies",
    "the drink": "water"
  };
  let entreeValue = testObj['an entree'];
  let drinkValue = testObj['the drink'];
 
  return entreeValue + ' ' + drinkValue;
}
console.log(bracketNotation())

4. 변수를 사용한 객체 속성 접근

Assignment

  • objectVariables 함수를 작성해주세요.
  • 16을 값으로 하는 playerNumber 변수를 선언해주세요.
  • 대괄호를 사용해 testObj의 playerNumber 프로퍼티에 접근하여 player 변수의 값으로 해당 번호의 선수가 올 수 있게 해주세요.

문제

function objectVariables() {
  // 아래의 코드는 수정하지 마세요.
  let testObj = {
    12: "Namath",
    16: "Montana",
    19: "Unitas"
  };

  // 아래의 코드를 수정해주세요.
  let playerNumber;       
  let player = testObj;  

  return player;
}

 

풀기

function objectVariables() {
  let testObj = {
    12: "Namath",
    16: "Montana",
    19: "Unitas"
  };
  let playerNumber = 16    
  let player = testObj[playerNumber]  

  return player;
}
console.log(objectVariables());

복기

  let player = testObj[playerNumber]

 위 코드에 따음표를 ['playerNumber']를 넣어야할지 고민했었지만 playerNumber는 문자열이 아닌 선언된 변수이기 때문에 ''가 없이 접근 가능하다.