이력

  • 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()