NATIVE

settings_applicationsObject  >   settings_applicationsString

NATIVE

Draft
  • bug_report

Constructor

설명

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

구문

기본형식
str = "Hello"

리터럴로 문자열 데이터를 생성한다. 생성된 문자열 데이터의 타입은 'string'이다.

기본형식
new String(str)
인스턴스 생성 방식

Prototype 체인

String

  • 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에서 사용되지 않는 비표준이지만 최신 웹브라우저에서는 비공식적으로 지원하고 있다. 따라서 곧 표준 속성으로 지원될 확률이 높다.

기술 문서

문자열 데이터를 리터럴(Literal)로 생성하는 것과 String 객체의 생성자 함수를 통해 생성하는 것에 대한 비교를 해보자.

일반 리터럴(Literal)로 생성하는 경우에는 typeof 연산자로 체크해보면 'string'로 확인이 되고 String 객체의 생성자 함수로 생성된 경우에는 'object'로 분류한다. 비록 문자열 자체는 같지만 데이터의 타입은 다르다.

코드를 작성하다 보면 리터럴로 문자열 데이터를 생성하는 것이 일반적이지만 경우에 따라서는 생성자를 이용한 문자열 데이터 생성이 사용되는 경우도 있다. 따라서 다음의 코드를 참고하여 불필요한 시간 낭비를 하지 않도록 하자.

var str1 = "Hello";
var str2 = new String("Hello");
var str3 = new String("Hello");

typeof str1; // "string"로 확인
typeof str2; // "object"로 확인

str1 == str2; // true
str2 == str3; // false

지원 웹브라우저