희망찬 토요일 아침이 밝았다.
아침 아홉시에 컴퓨터 앞에 앉은 나를 토닥토닥 격려하며, 목표로 삼았던 객체까지의 TIL을 끝내기 위해
화이팅해보쟈! 오늘은 문자열을 정리해보려고한다!
문자열의 속성과 메소드를 이용해 원하는 형태로 만들 수 있다.
문자열의 length라는 속성을 활용해 길이를 확인할 수 있다. str.length
문자열의 글자 하나하나에 접근할 수 있다. str[1]
문자열을 합칠 수 있다. word1 + " " + word2
문자열을 원하는 만큼만 잡을 수 있다. str.slice(0, 3) str.substring(0, 3)
영문을 모두 대문자로 바꿀 수 있다. str.toUpperCase
영문을 모두 소문자로 바꿀 수 있다. str.toLowerCase
문자열 중 원하는 글자의 index를 찾을 수 있다 str.indexOf('a')
문자열 중 원하는 글자가 포함되어 있는지 알 수 있다. str.includes('a')
텍스트STRING METHOD
1.BASIC USAGES - ACCESSING A CHARACTER
.str[index]
예시) let str = 'CodeStates';
console.log(str[0]); // 'C' 0번째 위치에있는 문자 C가 출력됨
index 시작은 0부터 시작한다.
첫번째 특징! 인덱스로 접근은 가능하지만 문자를 다른 문자로 바꿀수는 없다.
문자열은 항상(read-only)이다 새로 값을 할당하지 않는 이상 그 값이 바뀌지 않는다.
2. BASIC USAGES - CONCATENATING STRINGS
+연산자를 쓸 수 있다.
string타입과 다른 타입에 +연산자를 쓰면 string형식으로 변환된다. (-연산자는 안됨)
예시)
let str1 = 'code';
let str2 = 'states';
console.log(str1+str2) ; // 'codestates' 문자열이 합쳐져서 최종 출력된다.
let str3 = '1';
console.log(str3+7); // '17' 문자열+숫자일때는 +연산자는 더해지지않고 옆으로 나란히 나열되어 출력된다.
str.concat이라는 method도 있다.
3. STRING METHOD
- length PROPERTY (문자열의 전체 길이를 알 수 있다. 길이를 반환)
- str.length
let str = 'codestates';
console.log(str.length); //최종 문자열의 길이인 10이 출력된다. (길이시작은 1부터!)
- str.indexOf (searchValue 찾아야할 내용)
.arguments : 찾고자 하는 문자열
.return value : 처음으로 일치하는 index, 찾고자 하는 문자열이없으면 -1
.lastindexOf 는 문자열 뒤에서 부터 찾게된다.
ex)
'blue whale'.indexOf('blue'); // 0번째 인덱스부터 시작, 0이출력
'blue whale'.indexOf('whale'); // 공백포함해서 5번째 인덱스부터 시작, 5가 출력
'blue whale'.lastindexOf('a'); // 뒤에서부터 찾아서 7이 출력
- str.includes (searchValue 찾아야할 내용) // true 또는 false를 리턴한다.
- str.split(seperator)
.arguments : 분리 기준이 될 문자열
.return value : 분리된 문자열이 포함된 배열
ex)
let str = 'hello from the other side';
console.log(str.split(' ')) // 빈공백을 기준으로 잘라낸다 .
// 최종 리턴은 배열로 ['hello', 'from', 'the', 'other', 'side']
- str.split('\n') // 줄바꿈을 찾아낼 수 있다.
- str.substring(strat, end)
.arguments : 시작 index, 끝 index
.return value : 시작과 끝 index 사이의 문자열 , 대신 끝 index는 포함하지 않는다.
ex)
let str = 'abcdefghijklmn'
console.log(str.substring(0,3)) // index 0부터 2까지의 문자를 반환 'abc'가 출력됨
//음수는 0으로 취급하고
//길이를 벗어나는 숫자가 대입되면 인덱스 끝까지 전부 출력된다.
//목적은 텍스트의 중간, 및 원하는 일부분만 가져오고 싶을 때
- str.toLowerCase() / str.toUpperCase()
.arguments : 없음
.return value : 대문자 또는 소문자로 변환된 문자열
ex)
console.log('ABCDEFG'.toLowerCase()); //소문자로 바뀌어서 출력 'abcdefg'
console.log('abcdefg'.toUpeerCase()); //대문자로 바뀌어서 출력 'ABCDEFG'
*특징 immutable : 원본이 바뀌지 않는다.
*string method는 모두 immutable하기 때문에 원본이 바뀌지 않는다.
그 외에도 많은 메소드가 있어서 코플릿 풀때는 진짜 구글링이 답..
기본적인 메소드는 알아두자!