문자열은 유사 배열 객체 이면서 이터러블
immutable : 원본이 변하지 않음
모든 string method는 immutable!
그러나 array method는 immutable 과 mutable 여부를 잘 기억해야함
index로 접근이 가능하지만 쓸 수 는 없음 → 원시 타입이라서
//
str = 'codestates'
str[0] = 'G'
console.log(str)
--------
codestates
JavaScript
복사
+연산자 사용가능
string 타입과 다른 타입 사이에 +를 사용하는 경우 string 형식으로 변환
str.concat() 으로도 사용가능
str = "Hello," + "Soyou!"
console.log(str) // Hello, Soyou!
JavaScript
복사
Template literals
`${ }`
JavaScript
복사
str.length
문자열의 길이를 나타내는 문자열의 property
let str = 'soyeon';
console.log(str.length) // 6
JavaScript
복사
String Method
일치하는 문자열 찾기
String.prototype.indexOf()
문자열에서 주어진 값과 처음으로 일치하는 첫 번째 index 반환, 없으면 -1 반환
대소문자 구분
str.indexOf(searchValue[, fromIndex])
JavaScript
복사
searchValue : 찾으려는 문자열, default는 undefined
fromIndex (optional) : 탐색 시작점 지정, default는 0, 문자열의 길이를 넘어가면 검색하지 않고 -1 반환
ex)
let str = 'Somewhere over the rainbow'
console.log(str.indexOf('rainbow')) // 19
JavaScript
복사
String.prototype.lastindexOf()
문자열 뒤에서부터 주어진 값과 처음으로 일치하는 index 반환, 없으면 -1 반환
대소문자 구분
str.lastIndexOf(searchValue[, fromIndex])
JavaScript
복사
searchValue : 찾으려는 문자열, default는 undefined
fromIndex (optional) : 탐색 시작점 지정, default는 +Infinity
ex)
let str = 'Somewhere over the rainbow'
console.log(str.indexOf('rainbow')) // 19
JavaScript
복사
String.prototype.includes()
하나의 문자열이 다른 문자열에 포함되어 있는지 판별, boolean값을 반환
대소문자를 구분, 구형 인터넷 익스플로러에서는 작동안함
str.includes(searchString[, position])
JavaScript
복사
searchString : 찾으려는 문자열
position (option) : 탐색 시작점, default는 0
ex)
'Somewhere over the rainbow'.includes('rainbow'); // true
JavaScript
복사
String.prototype.startsWith()
문자열이 특정 문자열로 시작하는 지 확인, boolean값을 반환
str.startsWith(searchString[, position])
JavaScript
복사
searchString : 문자열의 시작점에서 찾으려는 문자열
position (option) : 탐색 시작점, default는 0
ex)
'Somewhere over the rainbow'.startsWith('rainbow'); // false
JavaScript
복사
String.prototype.endsWith()
문자열이 특정 문자열로 끝나는지 확인, boolean값을 반환
str.endsWith(searchString[, length])
JavaScript
복사
searchString : 문자열의 끝에서 찾으려는 문자열
length (option) : 찾고자하는 문자열의 길이값, default는 문자열 전체 길이
ex)
let str = 'To be, or not to be, that is the question.';
console.log(str.endsWith('question.')); // true
JavaScript
복사
String.prototype.split()
String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눔, 나뉜 부분 문자열을 담은 array 반환
문자열 분리 \n 개행 \t tab
str.split([separator[, limit]])
JavaScript
복사
separator : 문자열을 나눌 구분자 문자열이나 정규표현식, 빈 문자열인 경우 각각의 문자가 배열의 원소 하나씩으로 변환
limit :
str.substring(start, end)
시작과 끝 index 사이의 문자열,음수는 0으로 취급, start end 순서 변경 상관노
str.slice(start, end)
substring과 기능은 같이 시작과 끝 index 사이의 문자열로 잘라낸다. 다른점은 start와 end 순서가 변경되면 작동하지 않음
str.toLowerCase() / str.toUpperCase()
대소문자로 변환
str.trim()
문자열 양 끝의 공백(space, tab NBSP)을 제거
공백문자 : \t \r\n \n
str.match(정규표현식)
문자열이 정규식과 매치되는 부분을 검색
i : 대소문자 무시 g: 글로벌
let re = /see (chapter \d+(\.\d)*)/i;
let found = str.match(re);
JavaScript
복사
str.replace()
어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 봔환
정규표현식
str.repeat()
반복