문자열의 시작은 항상 0부터 시작
ex) 'velog' < v = 0
let str = 'velog';
console.log(str[0]); // 'v'
console.log(str[3]); // 'o'
console.log(str[7]); // 'undefined'
let str1 = 'velog';
let str2 = 'google';
let str3 = '9';
console.log(str1 + str2); // 'veloggoogle'
console.log(str3 + 3); // 93 출력
문자 전체의 길이를 반환해준다 즉, 이 문장이 몇글자로 이루어져 있는지 알 수 있음
let str = 'velog';
console.log(str.length); // 5 출력
문장안에 특정 문자를 찾을때 몇번째에 있는지 쉽게 찾을 수 있다
indexOf = 앞에서부터 문자를 찾아줌
lastIndexOf = 뒤에서부터 문자를 찾아줌
let str = "velog, 1000원 / tistory, 500원";
console.log(str.indexOf('1')); // 7 출력
console.log(str.indexOf('o',7)); // 19 출력
두번째 console.log는 o라는 문자를 7번째부터 찾으면
velog의 o는 뛰어넘고 tistory의 o를 찾기때문에 값은 19가 출력
let str = "velog, 1000원 / tistory, 500원";
console.log(str.lastIndexOf('5')); // 24 출력
console.log(str.lastIndexOf('0',12)); // 10 출력
첫번째 console.log는 뒤부터 5라는 문자를 찾아주기 때문에 24번째에 있는 5가 출력
두번째 console.log는 뒤에서 12번째 문자 t부터 왼쪽으로 검색을하여 1000원의 마지막 0 10번째 0이 출력
문자를 분리시키기에 적절하다
arguments에 분리 기준이 될 문자열을 넣어주면 된다
csv형식을 처리할때 매우 유용하다
let str = 'hello world this is javascript';
console.log(str.split(' '));
// (5) ['hello', 'world', 'this', 'is', 'javascript']
//0: "hello"
// 1: "world"
// 2: "this"
// 3: "is"
// 4: "javascript"
// length: 5
// [[Prototype]]: Array(0)
split arguments안에 스페이스바를 넣어 활용한 예제로서 스페이스바 기준으로 단어가 분리되어 출력
let str = `1. 동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려 강산
대한 사람 대한으로 길이 보전하세`;
str.split('\n');
// (4) ['1. 동해물과 백두산이 마르고 닳도록', '하느님이 보우하사 우리나라 만세', '무궁화 삼천리 화려 강산', '대한 사람 대한으로 길이 보전하세']
// 0: "1. 동해물과 백두산이 마르고 닳도록"
// 1: "하느님이 보우하사 우리나라 만세"
// 2: "무궁화 삼천리 화려 강산"
// 3: "대한 사람 대한으로 길이 보전하세"
// length: 4
// [[Prototype]]: Array(0)
줄바꿈 기준으로도 단어 분리 가능
let str = `1. 동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려 강산
대한 사람 대한으로 길이 보전하세`;
let lines = str.split('\n');
lines[2];
// '무궁화 삼천리 화려 강산'
let str = `1. 동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세
무궁화 삼천리 화려 강산
대한 사람 대한으로 길이 보전하세`;
let lines = str.split('\n');
lines[2].split(' ');
// (4) ['무궁화', '삼천리', '화려', '강산']
// 0: "무궁화"
// 1: "삼천리"
// 2: "화려"
// 3: "강산"
// length: 4
// [[Prototype]]: Array(0)
arguments로 시작index, 끝index를 지정
return value로 시작과 끝 index 사이의 문자열 지정
let str = 'velog화이팅';
console.log(str.substring(0, 6)); // velog화
console.log(str.substring(6, 0)); // velog화
console.log(str.substring(2, 5)); // log
console.log(str.substring(-1, 5)); // velog
console.log(str.substring(-1, 100)); // velog화이팅
console.log(str.substring(3)); // og화이팅
첫번째 콘솔은 0부터 시작해 6까지 문자까지만 출력
두번째 콘솔은 첫번째 콘솔을 뒤집어도 결과는 똑같음 잘 사용 안함
세번째 콘솔은 2부터 5까지 문자만 출력
네번째 콘솔은 음수로 시작해 5까지 문자를 출력 ( 음수의경우 0부터 시작 )
다섯번째 콘솔은 음수로 시작해 100까지 문자를 출력
마지막 콘솔은 3부터 뒤 문자 전부 출력
( 현재 str 변수에 할당된 문자수는 7개밖에 안돼지만 초과시 전체 출력 )
arguments는 없고 return value로 대소문자로 변환된 문자열 출력
단 원본은 절대로 변하지 않음
ex) 변수의 소문자로 할당된 값을 대문자로 변환 후 다시 출력해도 소문자로 출력
console.log('TEST MESSAGE'.toLowerCase()); // 'test message'
console.log('test message'.toUpperCase()); // 'TEST MESSAGE'
첫번째 콘솔은 대문자를 소문자로 바꿔서 출력
두번째 콘솔은 소문자를 대문자로 바꿔서 출력