a. 문자열
1. 문자열 특징
- str[index] : index를 통한 접근은 가능하지만 사용은 할 수 없다
- + 연산자만 사용할 수 있다
- string 타입과 다른 타입 사이에 + 연산자를 사용하면 string 타입으로 변경된다
- 모든 string methods는 immutable, 원본은 변하지 않는다
2. length 프로퍼티
- 배열 요소는 프로그램안에서 얼마든지 추가 삭제할 수 있으므로 요소의 개수를 알고 사용하는 것이 좋다
- Array 객체에 length 프로퍼티를 사용하면 배열 요소의 갯수를 알 수 있고 해당 프로퍼티에 배열 요소의 갯수가 저장되어 있다
3. Methods
① Stirng.indexOf( )
- 호출한 String 객체에서 주어진 값과 일치하는 첫번째 인덱스를 반환 함.
- 일치하는 값이 없으면 -1 반환.
- lastIndexOf는 문자열 뒤에서 부터 찾음
//구문
str.indexOf(searchValue,[, fromIndex])
//serchValue : 찾으려는 문자열
//fromIndex : 문자열에서 찾기 시작하는 위치를 나타내는 인덱스 값.
- 설명 : 문자열 내에 있는 문자들은 왼쪽에서 오른쪽으로 순번이 매겨진다. 제일 처음 문자는 0번 순번이다.
'Blue Whale'.indexOf('Blue'); //returns 0
'Blue Whale'.indexOf('blue'); //returns -5
'Blue Whale'.indexOf('Whale'); //returns 5
'Blue Whale Whale'.indexOf('Whale'); //returns 5
② String.split( )
- String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눈다
//구문
str.split()
str.split(separator)
str.split(separator,limit)
//separator : 원본 문자열을 끊어야 할 부분을 나타내는 문자열
//limit : 끊어진 문자열의 최대 개수를 나타내는 정수. 주어진 separator가 등장할 때마다 끊지만 배열 원소가 limit개가 되면 멈춤
- 예제 > 끊는 횟수 제한하기
var myString = 'Hello World. How are you doing?';
var splits = myString.split(' ', 3);
console.log(splits);
//출력
["Hello", "World.", "How"]
③ String.substring( ) 와 String.slice( )
//substirng() 구문
str.substring(start[,end])
//slice() 구문
str.slice(start[,end])
▷ 공통점
- 둘 다 2개의 인자(start, end)를 받지만, 두번째는 optional
- start 인덱스부터 end 인덱스 직전까지 추출
- end 인덱스가 없다면 마지막까지 추출
- start = end 일 경우, 빈 문자열 반환
▷ 차이점
- 음수 인덱스일 경우, slice( )는 역방향으로 카운트 / substring( )은 0으로 치환됨
- start가 end보다 큰 경우 slice( )는 빈 문자열 반환 / substring( )은 마치 두 개의 인자를 바꾼 듯 작동
- 인자가 strLength보다 큰 경우, slice( )는 start가 strLength보다 큰 경우 빈 문자열 반환, end가 strLength보다 큰 경우 strLength로 치환 / substring( )은 strLength로 치환해서 처리
④ String.toLowerCase( ) / String.toUpperCase( )
- toLowerCase( ) 메서드는 문자열을 소문자로, toUpperCase( )는 대문자로 변환 한다
- 원래 문자열에 영향을 주지 않는다
⑤ String.trim( )
- 문자열 양 끝의 공백을 제거
- 공백이란 모든 공백 문자(space, tab, NBSP 등)와 모든 개행문자(LR, CR 등)을 의미
//trim() 사용 예제
var orig = ' foo ';
console.log(orig.trim()); // 'foo'
⑥ String.match( )
- 기준 문자열에서 원하는 특정문자열 혹은 정규식과 매치되는 부분을 검색한다
//문법
str.match(regexp)
//regexp : 정규식 개체이며, 정규표현식이 아닌 객체가 전달 되면 암묵적으로 정규표현식(RegExp)으로 변환
⑦ String.replace( )
- 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환한다
- 그 패턴은 문자열이나 정규식이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에 대해서 호출된 함수 일 수 있다