반응형
표준 내장 객체
- 표준 내장 객체(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 메소드 안의 this는 new생성자를 이용해 만든 것인 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 |
댓글