let str = 'menat'
console.log (str[0]; // 'm'
console.log (str[3]; // 'a'
index로 접근은 가능하지만 쓸 수는 없음
str[0] = 'b'
console.log9str); // 'menat' Not 'banat'
string 타입과 다른 타입 사이에 + 연산자를 쓰면 string으로 변환된다 (tostring)
var str1 = 'kim'
var str2 = 'lee'
var str3 = '7'
console.log(str1 + str2); // 'kimlee'
console.log(str3 + 10); // '710'
var str = 'chunli'
console.log(str.length); // 6
arguments: 찾고자 하는 문자열
return value: 처음으로 일치하는 index, 찾고자 하는 문자열이 없으면 -1
lastindexOf는 문자열 뒤에서부터 찾음
'Chunli sf6'.indexOf('Chunli'); // 0
'Chunli sf6'.indexOf('Mai'); // -1
'Chunli sf6'.indexOf('sf6'); // 7
'tekken'.lastIndexOf('e'); // 4
str.includes(searchValue)
인터넷 익스플로러같은 구형 브라우저에서 작동하지 않음
arguments: 분리 기준이 될 문자열
return value: 분리된 문자열이 포함된 배열
var str = 'my name is chunli';
console.log(str.split(' ')); // ['my', 'name', 'is', 'chunli']
csv 형식을 처리할 때 유용
줄바꿈 문자: csv.split('[백슬래시]n')
arguments: 시작 index, 끝 index
return value: 시작과 끝 index 사이의 문자열
var str = '123456789'
console.log(str.substring(0, 3)); // '123'
console.log(str.substring(3, 0)); // '123'
console.log(str.substring(1, 4)); // '234'
console.log(str.substring(-2, 1)); // '1' (음수는 0으로 취급)
console.log(str.substring(0, 15)); // '123456789' (인덱스 범위 초과시 마지막까지)
str.slice(start, end)
substring과 비슷하나 몇가지 차이가 있음
arguments: 없음
return value: 대, 소문자로 변환된 문자열
console.log('NVIDIA'.toLowerCase()); // 'nvidia'
console.log('apple'.toUppercase()); // 'APPLE'
모든 string method는 immutable
즉 원본이 변하지 않음
array method는 immutable 및 mutable 여부를 잘 기억해야 함.
.length
문자열의 길이 리턴 (문자의 개수)
let str = 'Chun-li';
console.log(str.length) // 7
indexOf()
문자열 내에 지정된 요소가 위치하고 있는 첫 번째 인덱스를 리턴. 지정된 요소가 문자열 내에 존재하지 않을 경우 -1을 리턴.
let str = 'Chun-li';
console.log(str.indexOf('C')) // 0
console.log(str.indexOf('r')) // -1
split()
문자열을 지정한 구분자를 이용하여 여러 개의 문자열로 나눈 후 배열의 형태로 리턴.
let str = '류, 춘리, 켄, 베가, 주리';
console.log(str.split(', '));
혹은
let str2 = '류, 춘리, 켄, 베가, 주리';
let word = str2.split(', ');
console.log(word); // ['류', '춘리', '켄', '베가', '주리']
toUpperCase()
, toLowerCase()
대소문자 리턴
let chunli = 'CHUNLI';
console.log(chunli.toLowerCase()); // chunli
let ryu = 'ryu';
console.log(ryu.toUpperCase()); // RYU