Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

항해일지

[항해99] JS 기초 Chapter5 확인 문제 풀기 (객체) 본문

항해99/온보딩 스터디 문제풀이

[항해99] JS 기초 Chapter5 확인 문제 풀기 (객체)

효환 2023. 3. 10. 23:59

 

5가지 키워드로 정리하는 핵심 포인트

  • 요소란 배열 내부에 있는 값을 말합니다.
  • 속성은 객체 내부에 있는 값을 의미합니다.
  • 메소드는 속성 중에 함수 자료형인 것을 의미합니다.
  • this 키워드는 객체 내부의 메소드에 객체 자신을 나타내는 키워드입니다.
  • 객체 생성 이후에 속성을 추가하거나 제거하는 것을 동적 속성 추가, 동적 속성 제거라고 합니다.

 

 

 

1. 다음과 같은 대상을 자바스크립트 객체로 선언해주세요. 자료형은 알맞다고 생각하는 것(문자열, 숫자, 불 등)으로 지정해주세요.

const test = {
    name : '혼자 공부하는 파이썬',
    price : 18000,
    publisher : '한빛 미디어'
}
console.log(test)

 

 

 

2. 다음 중 객체에 동적으로 속성을 추가하는 문법을 고르세요.

  1. add 객체[속성] = 값
  2. 객체.add('속성',값)
  3. 객체[속성] = 값
  4. 객체[속성] add 값

 

 

 

 

 

3. 다음 중 객체에 동적으로 속성을 제거하는 문법을 고르세요.

  1. delete 객체[속성]
  2. 객체.delete('속성')
  3. delete 객체 from 속성
  4. delete 속성 from 객체

 

 

 

 

4. 다음 코드에서 메소드라고 부를 수 있는 속성에 동그라미 표시하세요. 그리고 코드의 실행 결과를 예측해 보세요.

const object = {
    ko : '빵',
    en : 'bread',
    ja : '일본말',
    fr : 'pain',
    es : 'pan',
    lang : {
        ko : '한국어',
        en : '영어',
        ja : '일본어',
        fr : '프랑스어',
        es : '스페인어'
    },
    print: function(a){
        console.log(`${this.ko}${this.lang[a]}${this[a]}입니다.`)
    }
}
object.print('es') //.print가 메소드

 

 

 

4가지 키워드로 정리하는 핵심 포이트

  • 실제가 있는 것 중에서 객체가 아닌 것을 기본 자료형이라고 하며, 숫자, 문자열, 불이 대표적인 예입니다.
  • 객체를 기반으로 하는 자료형을 객체 자료형이라고 하며, new 키워드를 활용해서 생성합니다.
  • 기본 자료형의 승급이란 기본 자료형이 일시적으로 객체 자료형으로 변화하는 것을 의미합니다.
  • prototype 객체란 객체의 틀을 의미하며, 이곳에 속성과 메소드를 추가하면 해당 객체 전체에서 사용할 수 있습니다.

 

 

 

 

 

1. 다음 코드의 실행 결과를 예측해보세요. 예측과 다른 결과가 나온다면 왜 그런지 생각해보세요.

const num = 52000
num. = function () {
    return this.valueOf() + '원'
}
console.log(num.())

에러코드 : TypeError: num.원 is not a function

 

 

 

 

2. 다음 코드의 실행 결과를 예측해보세요.

function printLang(code){
    return printLang._lang[code]
}
printLang._lang = {
    ko : '한국어',
    en : '영어',
    ja : '일본어',
    fr : '프랑스어',
    es : '스페인어'
}
console.log('printLang(ko) : ', printLang('ko'))
console.log('printLang(en) : ', printLang('en'))

 

 

 

3. 모질라 문서에서 Math 객체와 관련된 내용을 읽고 사인 90도의 값을 구해보세요. 참고로 사인 90도는 1입니다. 아주 단순하게 생각해서 구현하면 0.89라는 결과가 나옵니다. 0.89가 나왔다면 왜 그런지, 그리고 이를 어떻게 해야 제대로 사용할 수 있는지 구글 검색 등을 활용해서 알아보고 코드를 수정하세요.

const degree = 90
// sin 90 = 1
console.log(Math.sin(90))

 

 

 

4. 다음 중 어떤 종류의 객체들이 모두 공유하는 속성과 메소드를 추가할 때 사용하는 객체의 이름을 골라주세요.

 

  1. classProp
  2. Prototype
  3. sample
  4. frame

 

 

5. 본문에서 Lodash 라이브러리의 _.sortBy 메소드를 살펴 보았습니다. _.orderBy() 메소드도 한번 살펴보고 어떤 형태로 사용해야 하는지 직접 예제를 작성해 보세요. 그리고 다음 과 가티은 배열을 이름(name)으로 오름차순 정렬해주세요.

 

src =  Lodash 라이브러리                                                                          3/11 까지 업데이트 예정

const books =[{
    name : '혼자 공부하는 파이썬',
    price : '18000',
    publisher: '한빛 미디어'
},{
    name : 'HTML5 웹프로그래밍 입문',
    price : '12000',
    publisher: '한빛 미디어'
},{
    name : '머신러닝 딥러닝 실전 개발 입뮨',
    price : '11000',
    publisher: '한빛 미디어'
},{
    name : '딥러닝을 위한 수학',
    price : '13000',
    publisher: '한빛 미디어'
}]
const output = _.orderBy(books, ["price"], ["name"])
console.log(JSON.stringify(output))
Comments