9-1. String 오브젝트 / String 오브젝트 개요, 문자열 연결 방법, 프로퍼티 리스트
String 오브젝트
- “ABC”처럼 문자 처리를 위한 오브젝트
즉, String 오브젝트에
- 문자 처리를 위한
- 함수와 프로퍼티가 포함되어 있으며
- 함수를 호출하여 문자 처리를 하게 됩니다.
문자열 연결 방법
한 줄에서 연결
- var book = “12” + “AB” + “가나”;
줄을 분리하여 연결
+
로 문자열 연결var concat = 123 + "abc" + "가나다라"; console.log(concat); // 123abc가나다라
역슬래시()로 문자열 연결
var concat = "abc \ 가나다라"; console.log(concat); // abc 가나다라
- 줄 끝에 역슬래시를 작성
역슬래시 뒤에 다른 문자 작성 불가 - 일반적으로 사용하지 않으며 앞의
+
방법을 사용합니다.
- 줄 끝에 역슬래시를 작성
프로퍼티 리스트
빌트인 String 오브젝트의 프로퍼티 리스트입니다.
new String()
: 인스턴스 생성
String 함수
String()
: 문자열로 변환하여 반환fromCharCode()
: 유니코드를 문자열로 변환하여 반환
유니코드를 문자열로 변환 - 따라서 사람이 읽을 수 있는 문자열이 됩니다.
String 프로퍼티
length
: 문자열의 문자 수 반환
String.prototype
constructor
: 생성자valueOf()
: 프리미티브 값 반환toString()
: 문자열로 변환
valueOf(), toString() 둘 다 Number 오브젝트에도 있습니다.
charAt()
: 인덱스 번째 문자 반환indexOf()
: 일치하는 문자열 중에서 가장 작은 인덱스 반환lastIndexOf()
: 일치하는 문자열 중에서 가장 큰 인덱스 반환
toString() ?
빌트인 Number 오브젝트에선 숫자를 문자열로 변환했지만 빌트인 String 오브젝트에 toString() ?
문자열을 문자열로 변환?
뭔가 뉘앙스가 이상하다.
concat()
: 문자열 연결
앞에서 문자열 연결은+
연산자로 했다.
이것은 함수로 문자연결toLowerCase()
: 영문 소문자로 변환toUpperCase()
: 영문 대문자로 변환
to - 변환이라는 시멘틱입니다.
trim()
: 문자열 앞 뒤의 화이트스페이스(공백) 삭제
“ abc “를 “abc”로 반환합니다.substring()
: 시작에서 끝 직전까지 값 반환substr()
: 시작 위치부터 지정한 문자 수 반환slice()
: 시작에서 끝 직전까지 값 반환. substring()과 차이 있음
substring()과 slice()는 추출하는 조건에서 조금 차이가 있습니다.- `match()` : 매치 결과 반환
- `replace()` : 매치 결과를 지정한 값으로 대체
- `search()` : 검색된 첫 번째 인덱스 반환
- `split()` : 구분자로 분리하여 반환
charCodeAt()
: 인덱스 번째 문자를 유니코드로 반환localeCompare()
: 값의 위치를 1, 0, -1로 반환
match, replace, search, split 이 네 개 메서드가 정규표현식에서 사용할 수 있습니다.
정규표현식은 문자열을 대상으로 하기 때문에 빌트인 String 오브젝트 관련 함수를 사용할 수 있습니다.
search()와 indexOf(), lastIndexOf()의 차이점
search()는 정규표현식을 사용할 수 있습니다.
정규표현식을 사용할 수 있다는 것은 다양한 조건을 작성할 수 있다는 것이고 다양한 조건으로 검색할 수 있다는 것입니다.
charCodeAt()과 fromCharCode() 차이점
fromCharCode 는 유니코드를 문자열로 변환
charCodeAt 은 문자열을 유니코드로 변환
localeCompare()
Number 오브젝트의 locale은 지역화라는 뜻이었습니다.
String 오브젝트에서는 값의 위치입니다.
1이면 왼쪽이고 0이면 같고 -1이면 오른쪽입니다.
이걸로 위치를 비교합니다.