객체 지향 - 표준 내장객체의 확장
포스트
취소

객체 지향 - 표준 내장객체의 확장

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

  • JavaScript가 기본적으로 가지고 있는 객체들
  • 내장 객체가 중요한 이유
    • 프로그래밍을 하는데 기본적으로 필요한 도구들이기 때문에
  • 내장 객체에 대한 이해가 필요한 이유
    • 프로그래밍이라는 것은 언어와 호스트 환경에 따라서 제공하는 기능들을 통해서 새로운 소프트웨어를 만들어내는 것이기 때문에

표준 내장 객체의 종류

  • Object
    • 객체
  • Function
    • 함수
  • Array
    • 배열
  • String
    • 문자
  • Boolean
    • 거짓
  • Number
    • 숫자
  • Math
    • 수학
  • Date
    • 날짜
  • RegExp
    • 정규 표현식

배열의 확장

var arr = new Array('a','b','c','d', 'e');
function getRandomData(arr){
    var index = Math.floor(arr.length * Math.random());
    return arr[index];
}
console.log(getRandomData(arr));

//동일한 내용으로 prototype을 통해서 작성해보자.
Array.prototype.randomTest = function(){
    var index = Math.floor(this.length * Math.random());
    return this[index];
}
var arr = new Array('a','b','c','d', 'e');
console.log(arr.randomTest());

//prototype을 사용한 코드에 대한 해설
/*
    1. Array라는 내장 객체의 prototype으로 randomTest라는 함수를 생성
    2. arr이라는 배열을 new를 통해서 Array라는 내장 객체 타입으로 선언하면서 초기화
    3. arr은 기본적으로 Array라는 내장 객체 타입을 갖고 있기 때문에
        처음에 Array의 prototype으로 선언했던 randomTest 함수를 사용 가능하다.
    4. arr이라는 변수에 할당을 했기 때문에 arr에서 randomTest를 실행시킬 때,
        randomTest 내부의 this는 window가 아니라 arr이 된다.
    5. 그 다음에는 차례대로 코드가 진행된 다음에 값을 리턴해준다.
*/
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.