일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 초코맘
- javascript
- 신혼생활
- 청첩장
- 결혼
- 재택근무
- 업무
- 예비맘
- 산책
- 신혼
- css
- 달리기
- 용산아이파크몰
- 설날
- 1일 1영어회화
- 영어회화
- 가을
- effect
- 영어공부
- event
- 영어 회화
- animation
- 1일 1독서
- 1일 1패턴
- 자바스크립트 스타일 가이드
- HTML
- 출산휴가
- 결혼준비
- 1일 1단어
- 스타일 가이드
- Today
- Total
코딩물고기
[J] JavaScript & jQuery 공부하기 #13 본문
경기도 일자리 재단에서 수업을 배웠고 자료를 참고하여 공부를 해보았다.
16. 객체 사용
- 객체에 속성 추가
* Object.defineProperty()
- 객체에 속성 하나를 추가함
< script type="text/javascript">
Object.defineProperty(dog,'country',{});
</ script>
> {}에는 추가하는 속성의 옵션 값이 지정된다.
value : 추가하는 속성의 값
writable : 속성값 변경 가능 여부
get : getter 정의
set : setter 정의
configurable : 설정 변경 가능 여부
enumerable : for ~ in 문장 사용 가능 여부
* Object.define.Properties()
- 객체에 여러 개의 속성을 추가함
< script type="text/javascript">
Object.defineProperties(dog,{
country : {},
price : {}
})
</ script>
> {}에는 추가하는 속성의 옵션 값이 지정됨
- 속성 검색
* Object.keys()
- 해당 객체의 열거 가능한 속성의 키 값들을 배열로 반환
< script type="text/javascript">
var keys = Object.keys(dog);
</ script>
* Object.getOwnPropertyNames()
- 해당 객체의 속성 이름들을 열거 가능 여부에 무관하게 모두 반환
< script type="text/javascript">
var names = Object.getOwnPropertyNames(dog);
</ script>
- 속성의 추가 및 삭제 제한
* Object.preventExtensions()
- 해당 객체에 동적으로 속성을 추가하는 것을 제한함
- 에러는 발생하지 않지만 속성이 추가되지 않음
< script type="text/javascript">
Object.preventExtensions(dog);
</ script>
* Object.seal()
- 해당 객체의 속성을 삭제하는 것을 제한
- 에러는 발생하지 않지만 속성이 제거되지 않음
< script type="text/javascript">
Object.seal(dog);
</ script>
* push()
- 배열 객체에 요소를 추가하는 메소드
< script type="text/javascript">
var dogs = [];
dogs.push({"푸들", 10, "푸돌이"})
dogs.push({"불독", 12, "도기"})
dogs.push({"푸들", 10, "푸돌이"})
dogs.push({"시바견", 16, "시바"})
</ script>
* 예제
< script type="text/javascript">
var car1 = {name : "소나타", company : "현대", year : 2017}
var car2 = {name : "SM5", company : "르노삼성", year : 2017};
var car3 = {name : "그랜저", company : "현대", year : 2017};
Object.defineProperty(car1, "price",{
value : 2600,
enumerable : true,
writable : false
});
Object.defineProperty(car2, "price",{
value : 2700,
enumerable : true,
writable : false
});
Object.defineProperty(car3, "price",{
value : 3000,
enumerable : true,
writable : false
});
car1.toString = function(){
return "name = " + this.name + ", company = " + this.company + ", year = " + this.year + ",price = " + this.price;
}
car2.toString = function(){
return "name = " + this.name + ", company = " + this.company + ", year = " + this.year + ",price = " + this.price;
}
car3.toString = function(){
return "name = " + this.name + ", company = " + this.company + ", year = " + this.year + ",price = " + this.price;
}
var cars = [];
cars.push(car1);
cars.push(car2);
cars.push(car3);
for(var index in cars){
document.write(cars[index].toString() + "
");
}
var total = 0;
for(var index in cars){
total += cars[index].price;
}
document.write("자동차 가격 평균 = " + Math.round(total/3) + "만원" )
</ script>
'코딩물고기의 IT월드' 카테고리의 다른 글
[J] JavaScript & jQuery 공부하기 #15 (0) | 2019.04.03 |
---|---|
[J] JavaScript & jQuery 공부하기 #14 (0) | 2019.04.03 |
[J] JavaScript & jQuery 공부하기 #12 (0) | 2019.04.03 |
[J] JavaScript & jQuery 공부하기 #11 (0) | 2019.04.03 |
[J] JavaScript & jQuery 공부하기 #10 (0) | 2019.04.03 |