Dev/혼자 공부하는 자바 스크립트
06-2 객체의 속성과 메소드 사용하기
Time_rast
2023. 4. 8. 00:00
반응형
▶ 4가지 키워드로 정리하는 핵심 포인트
● 실체가 있는 것 중에서 객체가 아닌 것을 기본 자료형이라고 하며, 숫자, 문자열, 불이 대표적인 예입니다.
● 객체를 기반으로 하는 자료형을 객체 자료형이라고 하며, new 키워들 활용해서 생성합니다.
● 기본 자료형의 승급이란 기본 자료형이 일시적으로 객체 자료형으로 변화하는 것을 의미합니다.
● prototype 객체란 객체의 틀을 의미하며, 이곳에 속성과 메소드를 추가하면 해당 객체 전체에서 사용할 수 있습니다.
▶ 확인 문제
1.다음 코드의 실행 결과를 예측해보세요. 예측과 다른 결과가 나온다면 왜 그런지 생각해보세요.
<script>
const num = 52000
num.원 = function () {
return this.valueOf() + '원'
}
cosole.log(num.원())
</script>
오류 메시지가 나옵니다. num은 기본 자료형이므로 메소드가 추가되지 않습니다. num과 같은 기 본 자료형은 대응되는 객체 자료형의 프로토타입(prototype 속성)에 메소드를 추가해야 합니다.
Uncaught TypeError: num.원 is not a function
2.다음 코드의 실행 결과를 예측해보세요
<script>
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'))
</script>
printLang("ko"):한국어
printLang("en"):영어
3.모질라 문서에서 Math 객체와 관련된 내용을 읽고 사인 90도의 값을 구해보세요. 참고로 사인 90도는 1입니다. 아주 단순하게 생각해서 구현하면 0.8939966636005579라는 결과가 나옵니다. 0.8939966636005579가 나왔다면 왜 그런지, 그리고 이를 어떻게 해야 제대로 사용할 수있는지 구글 검색 등을 활용해서 알아보고 코드를 수정하세요.
<script>
</script>
4. 다음 중 어떤 종류의 객체들이 모두 공유하는 속성과 메소드를 추가할 때 사용하는 객체의 이름을 골라주세요. ②
① classProp
② prototype
③ sample
④ frame
5.본문에서는 Lodash 라이브러리의_.sortBy() 메소드를 살펴보았습니다. _. orderBy()메소드도 한번 살펴보고 어떤 형태로 사용해야 하는지 직접 예제를 작성해보세요. 그리고 다음과 같은 배열을 이름( name)으로 오름차순 정렬해주세요.
<script>
const books = [{
"name": "혼자 공부하는 파이썬",
"price" : 18000,
"publisher" : "한빛미디어"
},{
"name": "HTML5 웹 프로그래밍 입문",
"price" : 26000,
"publisher" : "한빛아카데미"
}, {
"name": "머신러닝 딥러닝 실전 개발 입문",
"price" : 30000,
"publisher" : "위키북스"
}, {
"name": "딥러닝을 위한 수학",
"price" : 25000,
"publisher" : "위키북스"
}]
</script>
반응형