NATIVE

settings_applicationsObject  >   settings_applicationsString

NATIVE

Draft
  • bug_report

Internal slot[[Prototype]]

생성자(constructor)를 가진 객체(object) 또는 인터페이스(interface)가 인스턴스(instance)를 생성할 때 상속할 수 있는 프로퍼티(property)와 메소드(method)를 가지고 있는 원형 객체를 참조하는 생성자의 은닉된 속성이다.

만약에 상속받은 객체(object) 또는 인터페이스(interface)가 존재한다면 상속한 객체(object) 또는 인터페이스(interface)의 [[Prototype]] 프로퍼티(property)와 메소드(method)를 추가적으로 사용할 수 있다.

설명

String() 생성자 함수에 의해 생성되는 인스턴스 객체(또는 리터럴로 생성된 원시 문자열 데이터)에게 상속 가능한 원형 객체이다. String 객체가 Object 객체를 상속 받았기에 Object 객체의 [[Prototype]]을 그대로 상속받는다. 또한 Object 객체의 [[Prototype]]과 마찬가지로 직접 속성과 메소드를 추가할 수도 있다.

String() 생성자 함수는 자신의 생성자 함수가 Function() 이므로 Function 객체의 [[Prototype]]을 상속받지만 String() 생성자 함수에 의해서 생성된 인스턴스 객체들은 자신의 [[Prototype]]과 Object 객체의 [[Prototype]]을 상속받는다.

하위 트리 탐색

  • Methods

    • 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

    • length

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

상속 계층 탐색

Object

  • Methods

    • hasOwnProperty()

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

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

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

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

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

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

    • constructor

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

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

Object

  • Methods

    • hasOwnProperty()

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

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

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

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

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

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

    • constructor

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

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

지원 웹브라우저