Native Objects

Native Objects

Native Objects

ECMAScript의 기본 표준 내장 객체

계층 트리

  • Global

    전역 함수 및 상수를 하나로 모은 내장 객체이며 스크립트 엔진이 초기화 될 때 생성이 된다. Global 객체는 전역 객체의 성격을 가지고 있기 때문에 코드 어느 곳이든 상수와 함수를 사용할 수 있다.
    • Constants

      Global 객체의 상수이며 웹브라우저에서 window 객체의 전역 프로퍼티처럼 사용되어 진다.
      • Infinity

        무한대를 나타내는 숫자 값을 의미하는 전역 범위의 변수이다. 기본적으로 가지고 있는 값은 Number.POSITIVE_INFINITY 이다.
      • NaN

        숫자가 아님(Not a number)을 의미하는 전역 멤버 상수이다.
      • null

        객체 값이 존재하지 않는 경우를 의미하는 리터럴(Literal) 표현이며 원시 데이터 타입중의 하나이다.
      • undefined

        변수는 선언되었지만 값이 비워져 있음을 의미하는 원시 데이터 타입을 갖는 상수이다.
    • Functions

      Global 객체의 전역 함수들을 보여주며 이러한 전역 함수들은 다른 함수들과 마찬가지로 function () 이라는 이름 없는 함수 객체를 상속받는다. 웹브라우저에서는 window 전역 공간에서 window 객체의 메소드 처럼 사용되어 진다.
      • decodeURI()

        encodeURI() 전역 함수로 인코딩된 URI(Uniform Resource Identifier:URL+URN) 문자열을 원래대로 복호화해서 반환한다.
      • decodeURIComponent()

        encodeURIComponent() 전역 함수로 인코딩된 URI(Uniform Resource Identifier:URL+URN) 문자열을 원래대로 복호화해서 반환한다.
      • encodeURI()

        URI(Uniform Resource Identifier:URL+URN) 값을 갖는 문자열 중에서 "A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #"을 제외한 문자들을 특별한 문자포맷으로 인코딩해서 반환한다.
      • encodeURIComponent()

        URI(Uniform Resource Identifier:URL+URN) 값을 갖는 문자열에서 사용하지 말아야 할 모든 문자들을 특정 패턴의 문자열로 인코딩해서 반환한다.
      • eval()

        문자열로 작성된 자바스크립트 코드를 실행한다.
      • isFinite()

        매개 변수의 값이 유한수인지를 체크하여 블린 값으로 반환한다.
      • isNaN()

        매개 변수의 값이 NaN(숫자가 아님)인지를 체크한다.
      • parseFloat()

        매개 변수의 값을 부동 소수점 숫자로 해석하여 반환한다.
      • parseInt()

        매개 변수로 주어진 문자열을 정수로 변환하여 반환한다.
  • Object

    Object 객체는 자바스크립트의 모든 객체에 상속하는 최상위 객체이다. 원시 타입을 제외한 자바스크립트에서 다루는 데이터들은 모두 Object 객체를 상속받는 객체들이다. 하지만 원시 타입 데이터도 Object를 상속받는 각각의 래퍼(Wrapper) 객체가 존재해 실질적으로 모든 데이터들은 Object를 상속받는다고 할 수 있다.
    • Constructor

      객체를 생성하는 생성자이며 new 연산자를 이용하여 인스턴스(Instance) 방식과 대입 방식인 리터럴(Lieteral)을 지원한다.
      • Object()

        일반적인 사용자 객체 데이터를 생성하는 생성자 함수이며 생성자 함수에 의해서 생성된 인스턴스(Instance)는 Object 객체의 [[Prototype]]내 프로퍼티(Property)와 메소드(Method)를 상속받는다. 생성자 함수 자체는 Function 객체의 [[Prototype]]을 상속 받는다.
    • Inherited

      Object.prototype을 상속하는 객체들이다. ECMAScript 의 모든 객체는 Object 객체의 [[Prototype]]을 상속 받는다. 상속받는 객체들 중에서는 생성자 함수를 참조할 수 있는 constructor 프로퍼티를 가지고 있거나 아예 생성자가 없는 객체도 있다. 다음 아래의 내장 객체들은 Object 객체의 [[Prototype]]을 상속받는다.
      • Array

        Array 객체는 생성자 함수를 가지고 있고 상속 가능한 [[Prototype]] 프로퍼티와 메소드를 가지고 있어 배열 데이터를 생성하고 상속된 프로퍼티와 메소드를 통해 배열을 탐색하고 편집할 수 있도록 해준다.
        • Constructor

          배열 데이터를 생성하는 생성자이며 새로운 배열 생성은 원시타입이 아님에도 리터럴(Lieteral) 방식과 객체의 생성의 기본 방식인 new 연산자를 이용한 방식을 함께 지원한다. 일반적으로 리터럴 방식을 권장한다.
          • Array()

            Array 인스턴스 객체를 생성하는 생성자 함수이며 [[Prototype]] 객체의 constructor로 참조된다.
        • Static

          Array 객체의 정적 메소드와 프로퍼티로 분류했다.
          • Methods

            Array 객체의 정적 메소드로 분류했다.
            • from()

              유사 배열 또는 반복 가능한 객체를 새로운 배열 인스턴스로 생성한다.
            • isArray()

              인수로 주어진 데이터가 배열이면 true, 그렇지 않다면 false를 반환한다.
            • of()

              매개 변수의 갯수, 유형에 관계없이 가변 매개 변수를 갖는 새로운 배열 인스턴스를 생성해 반환한다. Array() 생성자 함수와의 차이점은 단일 인수로 지정된 number 타입을 배열의 원소로 추가한다. 참고로 Array() 생성자 함수에게 단일 인수를 number 타입으로 지정하는 경우에 배열의 길이로 설정한다.
        • Methods

          Array 객체의 상속가능한 메소드로 분류했다.
          • concat()

            배열을 합친후 새로운 배열을 반환한다.
          • copyWithin()

            배열의 원소 일부를 동일한 배열의 다른 위치에 복사한 다음 크기를 수정하지 않고 반환한다.
          • entries()

            배열의 각 인덱스에 대한 key와 value 쌍을 가지는 새로운 배열 반복자(Iterator) 객체를 반환한다.
          • every()

            배열의 모든 원소가 제공한 함수로 구현된 테스트를 통과하는지를 확인한다. 각 원소에 대한 결과값이 모두 true일 경우에만 최종적으로 true를 반환한다.
          • fill()

            첫 번째 인수의 정적인 값을 두 번째 인수의 인덱스부터 세 번째 인수의 인덱스까지 원소들을 채워 반환한다.
          • filter()

            매개 변수로 지정된 콜백 함수 테스트를 통과하는 모든 원소가 있는 새로운 배열을 반환한다.
          • find()

            매개 변수로 지정된 콜백 함수에서 요구하는 원소를 찾기 위해 배열 안의 원소를 순서대로 탐색하면서 최초 찾은 배열의 원소를 반환한다.
          • findIndex()

            매개 변수로 지정된 콜백 함수에서 요구하는 원소를 찾기 위해 배열 안의 원소를 순서대로 탐색하면서 최초 찾은 배열의 원소에 대한 인덱스 반환한다. 존재하지 않으면 -1을 반환한다.
          • forEach()

            배열 원소에 대응하며 한번씩 지정된 콜백 함수를 실행한다.
          • includes()

            배열에 특정 원소가 포함되어 있는지 여부를 확인한다.
          • indexOf()

            매개 변수로 지정된 원소를 가지고 있으면 그 원소에 대한 첫번째 인덱스를 반환한다.
          • join()

            배열의 모든 원소를 연결해 하나의 문자열로 만들어 반환한다.
          • keys()

            배열의 각 인덱스를 키(Key) 값으로 가지는 새로운 Array Iterator 객체를 반환한다.
          • lastIndexOf()

            배열에서 매개 변수로 지정된 원소가 존재하는 마지막 인덱스를 반환하고 존재하지 않으면 -1을 반환한다.
          • map()

            배열 내의 모든 원소를 순회하며 매개 변수로 지정된 콜백 함수가 실행되어 그 결과를 새로운 배열로 반환한다.
          • pop()

            배열의 마지막 원소를제거하고 그 요소를 반환한다.
          • push()

            배열의 마지막에 하나 이상의 원소를 추가하고 변경된 배열의 길이를 반환한다.
          • reduce()

            배열의 원소 왼쪽에서 오른쪽으로 이동하며 각 원소마다 누적 계산값과 함께 함수를 적용해 하나의 값으로 줄인다.
          • reduceRight()

            배열의 원소 오른쪽에서 왼쪽으로 이동하며 각 원소마다 누적 계산값과 함께 함수를 적용해 하나의 값으로 줄인다.
          • reverse()

            배열을 원소 순서를 역순으로 변형한 뒤 그 배열의 참조를 반환한다.
          • shift()

            배열의 첫번째 원소를 제거하고 제거된 원소를 반환한다. 실제로 배열의 길이가 변경된다.
          • slice()

            배열의 특정 위치의 원소를 별도로 분리해 새로운 배열로 반환한다. 원본 배열은 수정되지 않는다.
          • some()

            배열 내 원소가 지정된 함수로 테스트 되도록 한다. 각 원소에 대한 결과 값이 한 건 이상이라도 true가 발생한 경우에만 true를 반환한다.
          • sort()

            배열의 원소를 정렬 지정 방식에 따라 새롭게 정렬하여 자신을 반환한다.
          • splice()

            배열의 특정 위치의 원소를 제거하거나 제거후 새 원소를 추가한다.
          • unshift()

            배열에 새로운 원소를 맨 앞쪽에 추가한다.
          • values()

            배열의 각 인덱스에 대한 value를 갖는 새로운 Array Iterator 객체를 반환한다.
        • Properties

          Array 객체의 상속가능한 프로퍼티로 분류했다.
          • length

            배열의 길이를 읽거나 설정할 수 있다.
        • Protocols

          ECMAScript6에 추가된 프로토콜 규칙
          • @@iterator

            인수없이 호출되며 반환된 반복자는 반복될 값을 얻는 데 사용한다.
      • Boolean

        boolean 데이터를 다루는 래퍼(Wrapper)객체이다.
        • Constructor

          새로운 boolean 타입의 데이터를 생성하는 생성자이며 리터럴(Lieteral)과 new 연산자를 이용한 방식을 함께 지원한다. new 연산자를 이용한 생성 방식은 거의 쓰지 않고 리터럴 방식을 권장한다.
          • Boolean()

            Boolean 인스턴스 객체를 생성하는 생성자 함수이다. 참고로 new 연산자를 이용해서 생성한 데이터와 리터럴(Lieteral)로 생성한 데이터의 true, false 값은 근본적으로 다르다. 좀 더 자세한 내용은 아래의 튜토리얼을 보길 바란다.
        • Methods

          Boolean 객체의 상속 가능한 메소드로 분류했다.
          • toString()

            Boolean 객체를 나타내는 문자열을 반환한다.
          • valueOf()

            Boolean 객체의 원시 값을 반환한다.
      • Date

        특정 날짜와 시간을 데이터로 다루는 객체이다. Date 객체는 생성시 리터럴(Literal)을 지원하지 않는다.
        • Constructor

          날짜와 시간 데이터를 생성하는 생성자이며 리터럴(Lieteral)로 데이터 생성이 가능한 다른 객체와는 다르게 new 연산자를 이용한 방식만을 지원한다.
          • Date()

            날짜와 시간 데이터를 생성하는 생성자 함수이며 리터럴(Lieteral) 생성 방식을 지원하지 않는다. 오직 new 연산자를 이용한 생성만 허용된다.
        • Static

          Date 객체의 정적 메소드와 프로퍼티로 분류했다.
          • Methods

            Date 객체의 정적 메소드로 분류했다.
            • now()

              실행 시점의 현재 시간을 1970년 1월 1일 0시 0분 0초(UTC) 부터의 경과된 밀리초(Millisecond) 단위로 반환한다.
            • parse()

              매개 변수로 넘겨온 데이터를 분석해 UTC로 계산이 가능한 경우에는 밀리초(millisecond)로 반환하거나 분석이 불가능한 경우에는 NaN을 반환한다.
            • UTC()

              날짜 형식에 따른 날짜 데이터를 매개 변수로 받아 1970년 1월 1일 0시 0분 0초(UTC) 부터의 시간을 밀리초(Millisecond) 단위로 반환한다.
        • Methods

          Date 객체의 상속가능한 메소드로 분류했다.
          • getDate()

            Date 객체가 생성된 시점의 날짜를 반환한다.
          • getDay()

            Date 객체가 생성된 시점의 요일 코드를 반환한다. 일요일부터 토요일 순으로 0~7까지의 코드로 반환한다.
          • getFullYear()

            Date 객체가 생성된 시점의 날짜의 4자리 연도를 반환한다.
          • getHours()

            Date 객체가 생성된 시점의 시간을 반환한다.
          • getMilliseconds()

            Date 객체가 생성된 시점의 밀리초(1/1000)를 반환한다.
          • getMinutes()

            Date 객체가 생성된 시점의 분을 0에서 59사이의 정수로 반환한다.
          • getMonth()

            Date 객체가 생성된 시점의 월을 0부터 11사이의 값으로 반환한다.
          • getSeconds()

            Date 객체가 생성된 시점의 초를 0~59 사이의 값으로 반환한다.
          • getTime()

            표준시에 따라 지정된 날짜의 시간에 해당하는 1970년 1월 1일부터 경과된 초를 반환한다.
          • getTimezoneOffset()

            현재 지역에 대한 시간대 오프셋(UTC)을 분 단위로 반환한다.
          • getUTCDate()

            표준시에 따라 지정된 날짜에 해당하는 날짜를 반환한다.
          • getUTCDay()

            표준시에 따라 지정된 날짜의 요일을 0에서 6사이의 값으로 반환한다.
          • getUTCFullYear()

            표준시에 따라 지정된 날짜의 네 자리 연도를 반환한다.
          • getUTCHours()

            표준시에 따라 지정된 날짜의 시간을 반환한다.
          • getUTCMilliseconds()

            표준시에 따라 지정된 날짜의 밀리(1/1000) 초를 반환한다.
          • getUTCMinutes()

            표준시에 따라 지정된 날짜의 분을 반환한다.
          • getUTCMonth()

            표준시에 따라 지정된 날짜의 월을 0부터 11사이의 값으로 반환한다.
          • getUTCSeconds()

            표준시에 따른 지정된 날짜의 초를 반환한다.
          • setDate()

            Date 객체의 날짜를 새로 설정한다.
          • setFullYear()

            Date 객체의 새로운 네자리 연도를 설정한다.
          • setHours()

            Date 객체의 새로운 시(Hour)를 설정하고 1970년 1월 1일부터 지나온 시간(밀리 초)를 반환한다.
          • setMilliseconds()

            Date 객체의 새로운 밀리(1/1000)초를 설정한다.
          • setMinutes()

            Date 객체의 새로운 분을 설정한다.
          • setMonth()

            Date 객체의 새로운 월을 설정한다.
          • setSeconds()

            Date 객체의 새로운 초를 설정한다.
          • setTime()

            Date 객체의 1970년 1월 1일부터의 새로운 밀리(1/1000) 초를 설정한다.
          • setUTCDate()

            Date 객체에게 표준시에 따른 새로운 날짜를 설정한다.
          • setUTCFullYear()

            Date 객체에게 표준시에 따른 새로운 네 자리 연도를 설정한다.
          • setUTCHours()

            Date 객체에게 표준시에 따른 새로운 시간을 설정한다.
          • setUTCMilliseconds()

            Date 객체에게 표준시에 따른 새로운 밀리(1/1000) 초를 설정한다.
          • setUTCMinutes()

            Date 객체에게 표준시에 따른 새로운 분을 설정한다.
          • setUTCMonth()

            Date 객체에게 표준시에 따른 새로운 월을 설정한다.
          • setUTCSeconds()

            Date 객체에게 표준시에 따른 새로운 초를 설정한다.
          • toDateString()

            Date 객체의 날짜 부분을 미국 영어권 사용 형식의 문자열로 반환한다.
          • toISOString()

            길이가 항상 24자 또는 27자 ( YYYY-MM-DDTHH:mm:ss.sssZ 또는 YYYYYY-MM-DDTHH:mm:ss.sssZ)인 단순화 된 확장 ISO 형식 ( ISO 8601 ) 으로 문자열을 반환한다. 표준 시간대는 접미사 "Z" 로 표시된대로 항상 0 UTC 오프셋이다.
          • toJSON()

            Date 객체의 문자열 표현을 반환한다.
          • toLocaleDateString()

            Date 객체의 날짜 부분을 지역의 언어에 맞는 문자열 표현으로 반환한다.
          • toLocaleString()

            Date 객체의 날짜의 문자열 표현을 지역의 언어에 맞는 형식으로 반환한다.
          • toLocaleTimeString()

            Date 객체의 날짜의 시간 부분을 지역에 맞는 언어 포맷으로 반환한다.
          • toString()

            Date 객체를 나타내는 문자열을 반환한다. Object.prototype 으로 부터 상속되었지만 Date 객체를 대상으로 처리한다.
          • toTimeString()

            Date 객체의 시간 부분을 미국 영어권 사용 형식의 문자열로 반환한다.
          • toUTCString()

            UTC 시간대를 사용하여 날짜를 문자열로 변환한다.
          • valueOf()

            Date객체의 원시(Primitive) 값을 반환한다. Object.prototype 으로 부터 상속되었지만 Date 객체를 대상으로 처리한다.
      • Error

        코드 실행시 에러를 다루는 객체이다.
        • Constructor

          오류 객체를 생성하며 리터럴(Lieteral)을 지원하지 않는다. 명시적으로 생성하는 것 보다 런타임(Runtime)시 오류가 발생할 때 자동으로 생성되는 경우를 주로 사용한다.
          • Error()

            에러(error) 객체를 생성하는 생성자 함수이며 명시적으로 사용자에 의해 생성되는 것이 아닌 런타임 오류가 발생했을 때 생성(throw)된다.
        • Methods

          Error 객체의 Prototype 메소드
          • toString()

            Error 객체를 나타내는 문자열을 반환한다.
        • Properties

          Error 객체의 상속가능한 프로퍼티로 분류했다.
          • message

            오류에 대한 설명을 조회한다.
          • name

            오류 유형의 이름을 조회한다.
      • Function

        함수 생성에 관여하는 객체이다. 자바스크립트의 모든 함수는 Function 객체를 상속받는다. 또한 Function 객체 자신은 Object 객체를 상속받는다. 다른 언어와는 다르게 자바스크립트에서의 함수는 객체를 생성하는 역할을 한다. 이 경우에 생성된 객체는 더 이상의 Function 객체의 성격을 갖지 않고 완전한 Object 객체로 전환된다.
        • Constructor

          함수를 생성하는 방식은 리터럴(Lieteral)과 new 연산자를 통한 생성 방식이 있다. 일반적으로 리터럴로 생성을 하지만 경우에 따라서는 Function() 생성자 함수를 이용할 수도 있다. 리터럴로 생성하는 경우에는 다양한 패턴을 가지고 있다. 자세한 내용은 아래의 튜토리얼을 참조한다.
          • Function()

            사용자 함수를 생성하는 생성자 함수이며 function () 객체의 prototype 프로퍼티(Property)와 메소드(Method)를 상속한다. eval() 함수와 비슷한 성향을 가지지만 eval() 함수보다는 덜 위험하고 전역범위에서 코드를 실행할 수 있으며 프로그래밍(동적) 방식으로 함수를 생성할 수 있어 효율적인 코드를 작성할 수 있도록 해 준다.
        • Methods

          생성된 함수에게 상속되는 메소드
          • apply()

            주어진 this 또는 arguments로 함수를 호출한다.
          • bind()

            원본 함수와 동일한 본문을 갖는 바인딩된 함수를 만든다. this 키워드가 있는 경우 실제로 자신을 참조할 수 있도록 활성화된다.
          • call()

            인수를 지정하여 객체의 메소드를 호출한다. apply() 메소드와 매우 흡사하지만 배열 하나만을 인수로 지정하는 apply() 메소드와 달리 인수를 추가적으로 설정할 수 있다는 것이 차이가 있다.
          • toSource()

            객체의 소스코드를 나타내는 문자열을 반환한다. 웹브라우저별 지원 여부를 체크할 필요가 있다.
          • toString()

            Object.prototype.toString() 메소드를 상속받았으며 재정의를 통해 사용하거나 재정의 없이 사용할 수 있다. 이 메소드는 객체가 텍스트 값으로 표시되거나 객체가 문자열이 예상되는 방식으로 참조될 때 호출된다. 객체에 따라서 결과는 다를 수 있다.
        • Properties

          새 사용자 함수 생성시 상속 가능한 프로퍼티
          • caller

            지정된 함수를 호출한 함수를 참조한다. strict 모드에서는 사용할 수 없다.
          • length

            함수에 사용 되고 있는 인수의 개수를 참조한다.
          • name

            함수 이름을 참조한다.
          • prototype

            모든 생성자에게 상속되며 생성자의 프로토타입을 나타낸다.
      • JSON

        JSON 객체는 JavaScript Object Notation(JSON)을 분석하거나 값을 JSON으로 변환하는 메서드를 가지고 있다. JSON을 직접 호출하며 인스턴스를 생성할 수 없다.
        • Static

          정적 멤버
          • parse()

            JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성한다. 선택적으로, reviver 함수를 인수로 전달할 경우 결과를 반환하기 전에 변형할 수 있다.
          • stringify()

            JavaScript 값이나 객체를 JSON 문자열로 변환한다. 선택적으로, replacer를 함수로 전달할 경우 변환 전 값을 변형할 수 있고, 배열로 전달할 경우 지정한 속성만 결과에 포함한다.
      • Math

        수학적 처리를 다루는 객체이며 생성자 함수를 가지고 있지 않은 정적(싱글톤:singleton) 객체이다.
        • Static

          Math 객체의 정적 멤버
          • Methods

            Math 객체의 정적멤버변수
            • abs()

              절대값을 반환한다.
            • acos()

              주어진 숫자의 아크코사인(Arccosine) 값을 라디안(Radian)으로 반환한다.
            • acosh()

              숫자의 Hyperbolic arc-cosine(쌍곡선 아크코사인) 값을 반환한다.
            • asin()

              arcsine(radians) 값을 반환한다.
            • asinh()

              숫자의 Hyperbolic arc-sine(쌍곡선 아크사인) 값을 반환한다.
            • atan()

              아크 탄젠트(Arc-tangent)를 반환한다.
            • atan2()

              양의 x 축과 광선 사이의 평면 각도(라디안)를 (0,0)에서 점 (x, y)까지 반환한다.
            • atanh()

              숫자의 Hyperbolic arc-tangent(쌍곡선 아크탄젠트)을 반환한다.
            • cbrt()

              숫자의 제곱근을 반환한다.
            • ceil()

              소수이하의 숫자를 올림하여 정수로 바꾼다.
            • clz32()

              32비트 이진수 표현의 선행 0비트 수를 반환한다.
            • cos()

              코사인(cosine)을 반환한다.
            • cosh()

              숫자의 Hyperbolic arc-cosine(쌍곡선 코사인) 값을 반환한다.
            • exp()

              오일러(Euler)의 상수 e(약 2.71828) 값을 인자 값만큼 거듭제곱하여 반환한다.
            • expm1()

              오일러(Euler)의 상수 e(약 2.71828) 값을 인자 값만큼 거듭제곱한 값에 1을 뺀 값을 반환한다.
            • floor()

              인수로 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환한다. 일반적으로 소수 이하를 버릴 때 사용한다.
            • fround()

              Number의 가장 가까운 32비트 단 정밀도(Single-precision) float 표현을 반환한다.
            • hypot()

              인수의 제곱 합계의 제곱근을 반환한다.
            • imul()

              두 매개변수의 C와 같은 32비트 곱셈 결과를 반환한다.
            • log()

              e를 밑으로(loge) 하는 자연로그(base ) 값을 반환한다.
            • log10()

              주어진 인수의 밑이 10(log10)인 상용 로그 함수 결과값을 반환한다.
            • log1p()

              1 + x(인수) 숫자의 자연 로그 값을 반환한다.
            • log2()

              주어진 인수의 밑이 2(log2)인 로그 함수 결과값을 반환한다.
            • max()

              인수로 나열된 숫자 중에서 가장 큰 숫자를 반환한다.
            • min()

              인수로 나열된 숫자 중에서 가장 작은 숫자를 반환한다.
            • pow()

              거듭제곱 값을 반환한다.
            • random()

              0 이상 1 미만의 구간에서 근사적으로 균일한(approximately uniform) 부동소숫점 의사난수를 반환하며, 이 값은 사용자가 원하는 범위로 변형할 수 있다. 난수 생성 알고리즘에 사용되는 초기값은 구현체가 선택하며, 사용자가 선택하거나 초기화할 수 없다.
            • round()

              인수로 지정된 값을 반올림을 한 값으로 반환한다.
            • sign()

              인수로 지정된 수의 부호(양수, 음수)를 반환한다.
            • sin()

              인수로 주어진 숫자의 사인(sine) 값을 반환한다.
            • sinh()

              숫자의 Hyperbolic sine(쌍곡선 사인) 값을 반환한다.
            • sqrt()

              인수의 제곱근 값을 반환한다.
            • tan()

              인수의 탄젠트(Tangent) 값을 반환한다.
            • tanh()

              숫자의 Hyperbolic tangent(쌍곡선 탄젠트) 값을 반환한다.
            • trunc()

              인수의 소수 부분을 제거하고 숫자의 정수 부분을 반환한다.
          • Properties

            정적 멤버 프로퍼티
            • E

              자연 대수 e의 근원을 나타내며 약 2.718 값을 가지고 있다.
            • LN10

              10의 자연로그 값, 약 2.302의 값을 갖는다.
            • LN2

              2의 자연로그 값, 약 0.693의 값을 갖는다.
            • LOG10E

              e의 로그 10 값, 약 0.434의 값을 갖는다.
            • LOG2E

              e의 로그 2 값, 약 1.442의 값을 갖는다.
            • PI

              원의 둘레와 지름의 비율, 약 3.14159의 값을 갖는다.
            • SQRT1_2

              약 0.707 인 1/2의 제곱근을 가지고 있다.
            • SQRT2

              2의 제곱근을 나타내며 약 1.414을 가지고 있다.
      • Number

        숫자 데이터를 생성해 사용할 수 있도록 해주는 래퍼객체이다.
        • Constructor

          숫자 데이터를 생성하는 생성자이며 새로운 숫자 생성은 리터럴(Lieteral) 방식과 객체의 생성의 기본 방식인 new 연산자를 이용한 방식을 함께 지원한다. 일반적으로 리터럴 방식을 권장한다.
          • Number()

            숫자 데이터를 생성하는 생성자 함수이며 new 연산자를 이용하여 인스턴스를 숫자 데이터로 사용하는 것과 new 연산자 없이 주어진 인수를 'number' 타입으로 변환하여 사용하는 방식 모두 숫자 데이터를 생성하는 것이지만 생성된 데이터의 타입(type)에 있어서는 차이가 있다. new 연산자를 이용하는 경우에는 타입이 'object'이고 new 연산자 없이 함수만을 사용하여 생성하는 경우에는 원시타입(number)이 된다.
        • Static

          Number 래퍼 객체의 정적 멤버
          • Methods

            Number 래퍼 객체의 정적 메소드
            • isFinite()

              인수로 지정된 값이 유한수(Finite number)인지 판별한다. 전역 함수 isFinite()와 비교했을 때, Number.isFinite() 메서드는 매개변수를 숫자로 변환하지 않는다. 즉 값이 숫자이며 동시에 유한수일 때만 true를 반환한다.
            • isInteger()

              인수로 주어진 값이 정수인지를 판별한다.
            • isNaN()

              인수로 주어진 값이 NaN인지를 판별한다. 전역 함수인 isNaN()보다 더 엄격하게 테스트한다.
            • isSafeInteger()

              인수로 전달된 값이 안전한 정수인지를 판별한다.
            • parseFloat()

              인수로 주어진 값을 분석해서 부동소수점 실수로 반환한다.
            • parseInt()

              인수로 주어진 문자열을 분석하여 특정 진수를 사용한 정수로 반환한다.
          • Properties

            정적 프로퍼티 분류
            • NaN

              Not-A-Number(숫자가 아님)를 나타낸다. NaN과 동일하다.
            • EPSILON

              Number 형으로 표현될 수 있는 1과 1보다 큰 값 중에서 가장 작은 값의 차를 가진다. 대략 2.2204460492503130808472633361816E-16 또는 2-52의 값을 갖는다.
            • MAX_SAFE_INTEGER

              JavaScript에서 안전한 최대 정수값을 가진다.
            • MAX_VALUE

              JavaScript가 표현할 수 있는 제일 큰 양의 숫자 값을 가진다. MAX_VALUE의 값은 약 1.79E+308 또는 21024 이며 이보다 큰 수는 Infinity로 표현한다.
            • MIN_SAFE_INTEGER

              JavaScript에서 안전한 최소 정수값을 가진다.
            • MIN_VALUE

              JavaScript가 표현할 수 있는 제일 작은 양의 숫자 값을 가지며 0에 가장 가깝지만 음수가 아닌 수이다. MIN_VALUE의 값은 약 5e-324이고 MIN_VALUE보다 작은 값은 0으로 변환된다.
            • NEGATIVE_INFINITY

              음의 무한대를 갖는다. 전역 객체 Infinity 속성의 부호를 바꾼 값과 동일하다.
            • POSITIVE_INFINITY

              양의 무한대를 나타낸다. 전역 객체 Infinity 속성의 값과 동일하다.
        • Methods

          멤버 메소드 분류
          • toExponential()

            인수로 지정된 숫자를 지수 표기법으로 표기해 반환한다.
          • toFixed()

            숫자를 고정 소수점 표기법으로 표기해 반환한다.
          • toLocaleString()

            숫자의 사용 언어에 따른 표현을 포함한 문자열을 반환한다.
          • toPrecision()

            정밀도를 나타내는 문자열을 반환한다.
          • toString()

            Number 객체를 나타내는 문자열을 반환한다.
          • valueOf()

            Number 래퍼 객체가 감싼 원시타입 값을 반환한다.
      • RegExp

        정규표현식은 문자열에 나타나는 특정 문자 조합과 대응시키기 위해서 사용하는 패턴에 대한 알고리즘을 가진 기술이다. 자바스크립트에서의 정규표현식은 객체로 다루어지며 생성된 정규표현식 인스턴스 객체는 prototype에 존재하는 exec(), test() 메소드 또는 String 객체의 prototype에 존재하는 match(), replace(), split() 메소드의 의해서 사용되어진다.
        • Constructor

          정규식 객체를 생성하는 생성자이며 리터럴(Lieteral)과 객체 생성의 기본 방식인 new 연산자를 이용한 방식을 함께 지원한다.
          • RegExp()

            패턴을 사용한 문자열 판별에 사용할 정규 표현식 객체를 생성한다.
        • Methods

          표현식 객체의 인스턴스 멤버 함수
          • exec()

            인수로 지정된 문자열을 대상으로 정규표현식을 실행한다.
          • test()

            대상 문자열 속에 일치하는 문자열이 포함되어 있는지를 검사하고 존재하는 경우에는 true, 그렇지 않은 경우에는 false를 반환한다.
          • toString()

            정규표현식을 나타내는 문자열을 반환한다.
        • Properties

          상속 가능한 prototype 프로퍼티
          • dotAll

            "s" 플래그가 정규식에 함께 사용되는지 여부를 나타낸다.
          • flags

            정규식 객체의 플래그로 구성된 문자열을 반환한다.
          • global

            "g" 플래그가 정규식에 사용되는지 여부를 나타낸다.
          • ignoreCase

            "i" 플래그가 정규식에 사용되는지 여부를 나타낸다.
          • lastIndex

            정규표현식의 다음 일치에 대한 판단을 시작할 인덱스를 지정한다.
          • multiline

            "m" 플래그가 정규식에 사용되는지 여부를 나타낸다.
          • source

            정규표현식 객체의 소스 텍스트를 포함하는 문자열을 조회할 수 있으며 양쪽의 슬래시와 플래그가 포함되어 있지 않다.
          • sticky

            검색이 고정되어 있는지 여부를 나타낸다(lastIndex 속성으로 표시된 인덱스에서 부터 문자열을 검색).
          • unicode

            "u" 플래그가 정규식에 사용되는지 여부를 나타낸다.
      • String

        문자열 데이터를 생성해 사용할 수 있도록 해주는 래퍼(Wrapper)객체이다.
        • Constructor

          새로운 문자열 생성은 리터럴(Lieteral) 방식과 객체의 생성의 기본 방식인 new 연산자를 이용한 방식을 함께 지원한다. 일반적으로 리터럴 방식을 권장한다.
          • String()

            문자열 데이터를 생성하는 생성자 함수이며 new 연산자를 이용하여 인스턴스를 문자열 데이터로 사용하는 것과 new 연산자 없이 주어진 인수를 'string' 타입으로 변환하여 사용하는 방식 모두 문자열 데이터를 생성하는 것이지만 생성된 데이터의 타입(type)에 있어서는 차이가 있다. new 연산자를 이용하는 경우에는 타입이 'object'이고 new 연산자 없이 함수만을 사용하여 생성하는 경우에는 원시타입(string)이 된다.
        • Static

          String 객체의 정적 멤버
          • Methods

            String 객체의 정적 메소드
            • fromCharCode()

              UTF-16 코드 유닛의 시퀀스로부터 문자열을 생성해 반환한다.
            • fromCodePoint()

              지정된 코드 포인트 시퀀스를 사용하여 만든 문자열을 반환한다.
            • raw()

              탬플릿 리터럴의 태그 함수이며 파이썬의 r 접두어나 문자열 리터럴의 경우 C#의 @접두어와 동일하지 않지만 비슷하다. 원시 문자열 형식의 탬플릿 문자열을 가져오는데 사용한다.
        • Methods

          String 인스턴스 멤버 함수
          • charAt()

            지정된 오프셋에 있는 단일 UTF-16 코드 단위로 구성된 문자열을 반환한다.
          • charCodeAt()

            인수로 주어진 인덱스에 대한 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 반환한다.
          • codePointAt()

            인수로 주어진 위치의 문자에 대한 코드 포인트 값을 반환한다. 일반 문자의 경우 charCodeAt() 메소드의 결과 값과 반환되는 코드 포인트 값이 동일해 보이지만 단일 UTF-16 코드로 표현할 수 없는 유니코드 코드 포인트 값과는 다르다.
          • concat()

            인수로 전달된 모든 문자열을 연결하여 새로운 문자열로 반환한다.
          • endsWith()

            인수로 주어진 문자열로 끝나는지를 검사한다.
          • includes()

            인수로 주어진 문자열이 포함되었는지를 검사한다.
          • indexOf()

            인수로 주어진 문자와 일치가 시작되는 인덱스를 반환한다. 일치하지 않으면 -1을 반환한다.
          • lastIndexOf()

            문자열의 반대 방향에서 검색을 시작하여 인수로 주어진 문자열과 일치한다면 마지막 인덱스를 반환한다. 일치하는 문자열이 없다면 -1을 반환한다. 주의할 점은 찾고자 하는 문자열의 대소문자를 구분한다.
          • localeCompare()

            인수로 지정된 문자열이 정렬상 string 객체의 문자열 뒤에 있으면 음수, 그 반대의 경우는 양수, 동등한 경우에는 0을 반환한다.
          • match()

            대상 문자열이 인수로 주어진 정규식과 매치되는 부분을 테스트한다.
          • matchAll()

            그룹 캡처를 포함하여 정규 표현식에 대해 문자열과 일치하는 모든 결과의 반복자를 반환한다.
          • normalize()

            문자열을 유니코드 정규화 방식(Unicode Normalization Form)에 따라 정규화된 형태로 반환한다. 만약 주어진 값이 문자열이 아닐 경우에는 우선 문자열로 변환 후 정규화한다.
          • padEnd()

            현재 문자열에 인수로 지정된 길이만큼 지정 문자로 채워 새로운 문자열로 반환한다.
          • padStart()

            현재 문자열의 시작을 다른 문자열로 채워 주어진 길이 값을 갖는 문자열을 반환한다.
          • repeat()

            문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환한다.
          • replace()

            문자열에서 정규 표현식에 일치하는 일부 또는 전부가 인수로 지정된 문자열로 교체된 새로운 문자열을 반환한다.
          • search()

            인수로 주어진 정규 표현식에 따라 문자열을 검색한다.
          • slice()

            문자열의 일부를 추출하여 새 문자열로 반환한다.
          • split()

            해당 문자열을 분리하여 배열로 반환한다.
          • startsWith()

            문자열이 인수로 주어진 특정 문자로 시작하는지를 검사한다.
          • substr()

            문자열의 특정 위치에서 시작하여 원하는 길이만큼 새로운 문자열을 반환한다. substring() 메소드가 동일한 역할을 하며 substr() 메소드는 레거시로 존재하므로 가급적 사용을 피하도록 한다.
          • substring()

            인수로 주어진 시작 인덱스로 부터 종료 인덱스 전 까지 문자열을 반환한다.
          • toLocaleLowerCase()

            Locale에 따라 소문자로 변환하여 반환한다.
          • toLocaleUpperCase()

            Locale에 따라 대문자로 변환하여 반환한다.
          • toLowerCase()

            문자열을 소문자로 변환한다.
          • toString()

            지정된 객체를 나타내는 문자열을 반환한다.
          • toUpperCase()

            문자열을 대문자로 변환한다.
          • trim()

            문자열의 양 끝쪽에 있는 공백 문자(공백, 공백없음, 탭, 모든 행 종결자 등)을 제거한다.
          • trimEnd()

            문자열의 끝쪽에 있는 공백을 제거한다.
          • trimStart()

            문자열의 앞쪽에 있는 공백을 제거한다.
          • valueOf()

            String 객체의 원시값(primitive)을 반환한다.
        • Properties

          String 객체의 인스턴스 멤버 변수
          • length

            문자열의 길이를 가지고 있다.
      • Symbol

        Symbol 객체는 심벌(symbol) 데이터를 유일한 값으로 생성하여 객체의 프로퍼티로 사용한다.
        • Constructor

          Symbol 객체는 생성자 함수가 존재하지만 다른 생성자 함수처럼 new Symbol() 문법을 지원하지 않는다. symbol() 로 새로운 심벌(symbol)을 생성할 수 있다.
          • Symbol()

            심벌 형식의 값을 반환하는 함수이지만 new Symbol() 문법을 지원하지 않는다. Symbol() 함수로 부터 반환되는 모든 심벌(symbol) 값은 고유하다. 심벌(symbol) 값은 객체 프로퍼티에 대한 식별자로 사용될 수 있다. 이것은 심벌(symbol)의 유일한 목적이기도 하다. 심벌(symbol) 데이터형은 원시 데이터 형(primitive data type)이다.
        • Static

          Symbol 객체의 정적 멤버
          • Methods

            Symbol 객체의 정적 메소드
            • for()

              runtime-wide 심볼 레지스트리에서 인수로 지정된 키로 존재하는 심볼을 찾는다. 없으면 전역 심볼 레지시트리에 해당 키로 새로운 심볼을 만들어 준다.
          • Properties

            Symbol 객체의 정적 프로퍼티
            • iterator

              객체에 대한 기본 반복자를 지정한다. for...of와 같이 사용된다.
        • Methods

          Symbol 프로토타입 메소드
          • toString()

            지정된 Symbol 객체를 나타내는 문자열을 반환한다.
          • valueOf()

            Symbol 객체의 원시값을 반환한다.
        • Properties

          Symbol 프로토타입 객체의 프로퍼티
          • description

            심벌(symbol) 객체에 대한 설명을 조회한다.
    • Static

      Object 객체의 정적 프로퍼티와 메소드로 분류했다.
      • Methods

        Object 객체의 정적 메소드로 분류했다.
        • assign()

          열거 가능한 하나 이상의 소스 오브젝트로부터 타켓 오브젝트로 프로퍼티를 복사한 후 타켓 오브젝트를 반환한다. 만약에 소스 오브젝트에 타켓 오브젝트와 동일한 프로퍼티를 가지고 있다면 소스 오프젝트의 속성과 유사하게 덮어 씌우게 된다.
        • create()

          기존 객체를 사용하여 새로운 객체를 생성하여 반환한다.
        • defineProperties()

          첫 번째 인수로 지정된 객체의 두 개 이상의 프로퍼티의 명세를 새로 설정하여 반환한다.
        • defineProperty

          첫번째 인수로 지정된 객체에 새로운 프로퍼티를 정의하거나 수정한 후 반환한다.
        • entries()

          객체의 정의된 순서에 따라 하나의 프로퍼티와 그 값을 각각 배열의 항목으로 담아 전체의 프로퍼티 수 만큼 원소를 갖는 배열로 반환한다.
        • freeze()

          객체에 대한 모든 변경을 금지시킨다.
        • getOwnPropertyDescriptor()

          첫번째 인수로 지정된 객체의 특정 프로퍼티에 대한 configurable, enumerable, value, writable, get, set 명세를 반환한다.
        • getOwnPropertyDescriptors()

          객체의 모든 프로퍼티에 대한 configurable, enumerable, value, writable, get, set 명세를 반환한다.
        • getOwnPropertyNames()

          모든 속성(Symbol을 사용하는 프로퍼티를 제외한 열거 불가능 프로퍼티 포함)를 배열로 반환한다.
        • getOwnPropertySymbols()

          객체 내에 존재하는 모든 심벌(Symbol) 프로퍼티를 배열로 반환한다.
        • getPrototypeOf()

          객체의 프로토타입(Prototype)을 반환한다.
        • is()

          매개 변수로 주어진 두 값이 같은 값인지 확인한다. '==', '===' 연산자의 결과와 다를 수 있으므로 아래의 튜토리얼 문서를 참조한다.
        • isExtensible()

          객체에 새로운 프로퍼티를 추가 가능한지에 대한 여부를 확인한다.
        • isFrozen()

          객체가 변경 불가능한 상태인지를 확인한다.
        • isSealed()

          객체의 쓰기 가능한 프로퍼티를 제외하고 변경 금지된 상태인지를 확인한다.
        • keys()

          객체의 열거 가능한 프로퍼티와 메소드의 이름을 문자열 타입의 원소로 가진 배열로 반환한다.
        • preventExtensions()

          객체에 새로운 프로퍼티가 추가되는 것을 차단하여 확장을 막는다.
        • seal()

          객체에 새로운 프로퍼티를 추가할 수 없도록 하며 이미 존재하는 프로퍼티를 설정 불가능한 상태로 처리한다. 그러나 쓰기 가능한 프로퍼티의 값은 변경 불가 처리후에도 변경이 가능하다.
        • setPrototypeOf()

          대상 객체의 프로토타입(Prototype) 객체를 다른 객체로 설정하거나 null로 설정한다.
        • values()

          객체의 열거 가능한 프로퍼티 값을 원소로 가진 배열로 반환한다.
    • Methods

      상속 가능한 Object 객체의 프로토타입 메소드 분류이다.
      • hasOwnProperty()

        객체가 특정 프로퍼티를 가지고 있는지를 블린 값으로 반환한다.
      • isPrototypeOf()

        해당 객체가 다른 객체의 프로토타입 체인에 속한 객체인지를 체크한다. 이 메소드는 instanceof 연산자와 함께 특정 프로토타입으로부터 상속된 객체만 작동하게 하려는(예를 들어 특정 메소드나 속성이 객체에 있다는걸 보장하려는 때) 코드에서 특히 쓸모가 많다.
      • propertyIsEnumerable()

        매개 변수의 속성이 열거가능한지 여부를 체크한다.
      • toLocaleString()

        객체를 나타내는 문자열을 사용 지역의 방식으로 출력이 된다. 이 메소드는 상속받은 모든 객체가 사용할 수 없고 아래와 같은 상속된 객체에 사용이 된다. Array.prototype.toLocaleString() Number.prototype.toLocaleString() Date.prototype.toLocaleString()
      • toString()

        객체를 나타내는 문자열을 반환한다.
      • valueOf()

        객체의 Primitive(원시) 값을 반환한다.
    • Properties

      상속 가능한 Object 객체의 프로토타입 프로퍼티 분류이다.
      • constructor

        객체의 생성자 함수를 참조한다.
      • __proto__

        상속된 [[Prototype]] 참조하거나 설정가능하며 일반적으로 실제 코드상에서는 잘 사용되지 않는다. ECMAScript에서 사용되지 않는 비표준이지만 최신 웹브라우저에서는 비공식적으로 지원하고 있다. 따라서 곧 표준 속성으로 지원될 확률이 높다.