본문 바로가기
프로그래밍 개발/JS 기본 언어

Javascript 표준 내장 객체의 확장

by Jinseok Kim 2020. 11. 16.
반응형

 

 

표준 내장 객체

 

 

 

  • 표준 내장 객체(Standard Built-in Object)는 자바스크립트가 기본적으로 가지고 있는 객체들을 의미한다.
  • 내장 객체가 중요한 이유는 프로그래밍을 하는데 기본적으로 필요한 도구들이기 때문에다.
  • 결국 프로그래밍이라는 것은 언어와 호스트 환경에 제공하는 기능들을 통해서 새로운 소프트웨어를 만들어내는 것이기 때문에 내장 객체에 대한 이해는 프로그래밍의 기본이라고 할 수 있다.  

 

자바스크립트는 아래와 같은 내장 객체를 가지고 있다. 

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

 

 

 

 

 

 

 

내장 객체를 이용한 배열 값의 랜덤 추출하기

배열 확장

 

 

 

 

1

var arr = new Array('kim','jin','seok','25', 'Man');
function getRandomValueFromArray(arr){
    var index = Math.floor(arr.length*Math.random());
    return arr[index]; 
}
console.log(getRandomValueFromArray(arr));

 

  • 함수 getRandomValueFromArray 안의 Math.floor(arr.length*Math.random())을 주어 배열 객체 Array 안에 들어 있는 배열들을 랜덤하게 추출할 수 있도록 하였다.
  • arr.length을 주어 Array안에 들어 있는 배열들의 갯수를 세게 하였고 Math.radom으로 0 '이상', 1 '미만'의 소수들을 랜덤으로 추출하게 하여 arr.length와 곱해주어 '0'일때는 최솟값 '0.9'일때는 최대값으로 랜덤 범위를 줄 수 있다.
  • Math.floor는 소수점 이하를 제거하여 length을 이용한 Array 배열을 추출하는데 문제 없게 하였다.
  • 마지막으로 함수 getRandomValueFromArray의 리턴 값으로 arr[index]을 주어  설정해둔 랜덤 추출한 값을 Array 배열에서 배열들이 나오도록 하였다.

 

 

 

 

 

 

2

Array.prototype.random = function(){
    var index = Math.floor(this.length*Math.random());
    return this[index];
}
var arr = new Array('kim','jin','seok','25', 'Man');
console.log(arr.random());

 

  • 위의 코드는 함수를 배열 객체에 포함시켜 더 세련되게 코드를 수정시킨 것이다. 마치 배열에 내장된 메소드인 것처럼 위의 기능을 사용할 수 있게 하였다.
  • 일단 prototype 함수를 이용하여 random 메소드의 정보를 new생성자를 이용해 만든 객체 Array와 연결해 주었다.
  • 그래서 random 메소드 안의 thisnew생성자를 이용해 만든 것인 Array 객체 자체를 가리키게 된다.

 

 

 

 

 

 

 

반응형

'프로그래밍 개발 > JS 기본 언어' 카테고리의 다른 글

Javascript 데이터 타입  (0) 2020.11.16
Javascript Object  (0) 2020.11.16
Javascript 상속(inheritance)과 프로토타입(prototype)  (0) 2020.11.13
Javascript this  (0) 2020.11.13
Javascript 전역개체에 대하여  (0) 2020.11.13

댓글