언어/Javascript
[객체지향] 표준 내장 객체의 확장
power-girl0-0
2021. 2. 5. 23:03
728x90
생활코딩 javascript를 참고하여 공부하였습니다.
스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.
( 출처 : https://opentutorials.org/course/743)
표준 내장 객체(Standard Built-in Object)
자바스크립트가 기본적으로 가지고 있는 객체들을 의미한다.
내장 객체가 중요한 이유는 프로그래밍을 하는데 기본적으로 필요한 도구들이기 때문이다.
아래는 자바스크립트가 가지고 있는 내장 객체이다.
|
이와 대비된 것으로는 사용자가 직접 정의한 사용자 정의 객체가 있다.
배열의 학장
예제를 통해 알아보자.
아래 소스 코드는 배열에서 특정한 값을 랜덤하게 추출하는 코드이다.
var arr = new Array('seoul','new york','ladarkh','pusan', 'Tsukuba');
function getRandomValueFromArray(haystack){
var index = Math.floor(haystack.length*Math.random());
// 랜덤한 위치값을 구해오는 구문이다.
// Math.floor는 소수일 때 정수의 값만 가져오는 기능을 한다.
return haystack[index];
}
console.log(getRandomValueFromArray(arr));
이렇게 작성해도 되지만, 함수를 배열 객체에 포함시켜서 작성해보자.
Array.prototype.rand = function(){
var index = Math.floor(this.length*Math.random());
return this[index];
}
var arr = new Array('seoul','new york','ladarkh','pusan', 'Tsukuba');
console.log(arr.rand());
위 코드에서는 함수의 인자값을 받지 않아 사용자의 부담감을 줄일 수 있다.
또한, 표준 내장 객체를 prototype을 이용해 사용자가 직접 정의함으로써 확장할 수 있는 장점을 가지고 있다.
728x90