이력

  • 2021.10.09 포스팅
  • 2021.11.26 사소한 수정

​ 모든 내용을 상세히 담으려 하지 않았습니다.
제가 모르는 부분이나, “이런 것도 있었어?” 하는 부분, 중요하다고 생각되는 부분,
다시 한번 되새기고 싶은 부분만 기록했습니다.
읽어주셔서 감사합니다.

11.1 프로퍼티 리스트

11.2 new String()

  • 파라미터에 작성한 값은 새로운 인스턴스를 생성할 때 인스턴스트의 [[PrimitiveValue]]에 설정된다. ​

11.3 String()

  • 파라미터 값을 문자열 타입으로 변환하여 반환한다.

11.4 length 프로퍼티

  • new String()으로 인스턴스를 생성할 때 파라미터에 지정한 문자열의 문자 수가 인스턴스 프로퍼티로 설정된다.
  • 별것 아니라고 생각할 수도 있지만, 인스턴스 프로퍼티라는 말은 인스턴스가 생성되어야 할당할수 있다는 이야기 이다. 아래의 코드와 설명을 통해 더 깊게 알아보자
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
var value = 'ABC';
js.log(value.length); // 3 
value = 123;
js.log(value.length); // undefined

// 저자가 생각하는 문자 수 반환 논리
1. 자바스크립트 엔진이 value 변수를 만나 문자열 타입을 인식한다.
2. new String() 형태로 생성자 함수를 호출한다.
3. 이때 value 변수값을 파라미터로 넘겨준다.
4. 새로운 오브젝트를 생성하면서 파라미터로 받은 값을 [[PrimitiveValue]]에 설정한다.
5. 생성한 인스턴스를 반환하지 않고 [[PrimitiveValue]]에 설정된 값의 length 값을 반환한다.
  • 문자열은 자동으로 배열 인덱스가 이름인 프로퍼티로 저장된다. 그래서 for-in 루프로 출력할 수 있게 된다. (ES5 이상부터 지원) ​

11.5 문자열로 반환, toString()

  • 문자열 오브젝트 또는 문자열 값이 toString()을 호출한다는 것은 어색하지만 이유가 있다. String 오브젝트에 toString 메소드를 작성하지 않으면 Object의 toString()이 호출되는 것을 방지하기 위한 목적이다.

11.6 프리미티트 값 반환, valueOf()

  • String 인스턴스의 프리미티브 값을 반환한다.

11.7 인덱스 번째 문자 반환, charAt()

  • 문자열 길이보다 큰 값을 지정하면 undefined가 아닌 빈 문자열이 반환된다.

11.8 유니코드 값 반환, charCodeAt()

  • 문자열 길이 보다 작거나 큰 인덱스를 지정하면 NaN을 반환한다. charCodeAt 메소드가 NaN이 반환되는 이유는 유니코드 값을 나타내는 숫자 값을 반환하기 때문이다,

11.9 유니코드를 문자열로 반환, formCharCode()

  • prototype에 연결되어 있지 않은 함수이다.

11.10 문자열 연결, concat()

11.11 작은 인덱스 반환, indexOf()

11.12 큰 인덱스 반환, lastIndexOf()

11.13 값 위치 반환, localeCompare()

  • 지역화 문자의 정렬 기준으로 비교한다.(영어는 알파벳, 한국은 한글 등)

11.14 매치 결과 반환, match()

  • 파라미터에 정규 표현식 또는 문자열 지정하여 매치한다. 문자열이 오면 정규 표현식으로 변환하여 매치한다. 정규 표현식은 정규 표현식 오브젝트(RegExp)로 생성하여 처리된다. 따라서 파라미터에 정규 표현식 오브젝트를 지정할수도 있다.
  • 문자영을 정규 표현시으로 비교, 검색하는 것을 매치라고 하며, 정규 표현식의 표현식을 패턴이라고 한다. 그래서 정규 표현식 용어로 말하면 패턴에 매치되었다, 되지 않았다. 이렇게 말한다.
  • 패턴 매치 유무만을 확인하고 싶다면 test 메소드를 쓰는 것이 좋다.

11.15 매치 결과를 지정한 값으로 대체, replace()

  • 원본 데이터가 변경되는 것은 아니다. ​

11.16 앞뒤 화이트 스페이스 삭제, trim()

11.18 시작에서 끝 직전까지 값 반환, subString()

11.19 지정한 문자 수 반환, subStr()

  • 인덱스 값이 음수이면 전체 길이에서 더한 값을 사용한다.

11.20 시작에서 끝 직전까지 반환, slice()

  • 인덱스 값이 음수이면 전체 길이에서 더한 값을 사용한다.

11.21 구분자로 분리하여 반환 (split() )

  • 매치되는게 없으면 전체를 배열로 반환한다.
  • 파라미터에 정규 표현식을 작성하고 분리 대상의 첫 문자가 매치되면 엔진 버전에 따라 다르게 출력될수도 있다.(매치되는 첫 문자를 반환 배열에 포함하거나 안하거나의 유무)
  • 괄호가 포함된 정규 표현식을 사용하면 구분자를 하나의 배열로 반환한다. 정규 표현식에서 괄호를 사용해서 값을 임시로 저장하는 것을 캡처(capture)라고 한다.

11.22 소문자로 반환, toLowerCase()

11.23 대문자로 반환, toUpperCase()