power-girl0-0

[객체지향] 표준 내장 객체의 확장 본문

언어/Javascript

[객체지향] 표준 내장 객체의 확장

power-girl0-0 2021. 2. 5. 23:03
728x90

 

 

생활코딩 javascript를 참고하여 공부하였습니다.

스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.

( 출처 :  https://opentutorials.org/course/743)


 표준 내장 객체(Standard Built-in Object) 

자바스크립트가 기본적으로 가지고 있는 객체들을 의미한다.

내장 객체가 중요한 이유는 프로그래밍을 하는데 기본적으로 필요한 도구들이기 때문이다.


아래는 자바스크립트가 가지고 있는 내장 객체이다.


  • Object
  • Function
  • Array
  • String
  • Boolean
  • Number
  • Math
  • Date
  • RegExp

 

이와 대비된 것으로는 사용자가 직접 정의한 사용자 정의 객체가 있다.


 배열의 학장 

예제를 통해 알아보자.

 

아래 소스 코드는 배열에서 특정한 값을 랜덤하게 추출하는 코드이다.

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

'언어 > Javascript' 카테고리의 다른 글

[객체지향] 데이터 타입  (0) 2021.02.05
[객체지향] Object  (0) 2021.02.05
[객체지향] prototype  (0) 2021.02.05
[객체지향] 상속  (0) 2021.02.05
[객체지향] this  (0) 2021.02.05
Comments