🥕 문자열 심화
1. 문자열 길이
let myString = 'Hi Soshy';
console.log(myString.length);
.
.
.
>> 8
2. 요소 접근
let myString = 'Hi Soshy';
console.log(myString[3]);
console.log(myString.charAt[3]);
.
.
.
>>> S
S
3. 요소 탐색
let myString = 'Hi Soshy';
console.log(myString.indexOf('S'));
console.log(myString.lastIndexOf('S'));
.
.
.
>>> 3
5
4. 대소문자 변환
let myString = 'Hi Soshy';
console.log(myString.toUpperCase());
console.log(myString.toLowerCase());
.
.
.
>>> HI SOSHY
hi soshy
5. 양 끝 공백 제거
let myString = ' Hi Soshy ';
console.log(myString);
console.log(myString.trim());
.
.
.
>>> Hi Soshy
Hi Soshy
6. 부분 문자열 접근
slice(start, end)가 기본 구조
- 끝 index 바로 직전까지의 범위를 가져옴.
let myString = ' Hi Soshy ';
console.log(myString.slice(0, 2));
console.log(myString.slice(3));
console.log(myString.slice());
.
.
.
>>> Hi
Soshy
Hi Soshy
7. for...of 반복문 활용
let myString = 'Soshy';
for (let str of myString) {
console.log(str);
}
.
.
.
>>> S
o
s
h
y
- 배열과 비슷하게 사용하기는 하지만, 자료형 자체가 다르다는 점 기억
let myString = 'Soshy';
let myArray = ['S', 'o', 's', 'h', 'y'];
console.log(typeof myString);
console.log(typeof myArray);
.
.
.
>>> string
object
let myString = 'Soshy';
let myArray = ['S', 'o', 's', 'h', 'y'];
console.log(myString === myArray);
console.log(myString == myArray);
.
.
.
>>> false
false
8. 문자열 <-> 배열 변환
split(''): 문자열의 문자들을 하나씩 분리하여 배열로 만드는 함수
join(''): 배열의 요소들을 하나의 문자로 합치는 함수
let my_string = 'bread';
console.log(my_string.split('').reverse().join(''));
.
.
.
>>> daerb
🥕 문자열 vs. 배열
배열은 mutable (바뀔 수 있는) 자료형
문자열은 immutable (바뀔 수 없는) 자료형
- 때문에, 문자열에는
splice 같은 method는 사용할 수 없음!
let myArray = ['S', 'o', 's', 'h', 'y'];
myArray[0] = 'B';
console.log(myArray);
let myString = 'Soshy';
myString[0] = 'B';
console.log(myString);
.
.
.
>>> (6) ["B", "o", "s", "h", "y"]
Soshy