[JavaScript] 중급 #6 - 문자열 메소드 (String methods)
- html 코드는 작은 따옴표(‘)로 감싸는 것이 좋음
let html = '<div class="box_title">제목 영역<div>';
- 영어로 된 문장은 큰 따옴표(“)로 감싸는 것이 좋음
let desc = "It's 3 o'clock.";
- backtick(`)을 통해 변수와 표현식을 나타낼 수 있음
let name = 'Angel';
let result = `My name is ${name}.` //“My name is Angel.”
let add = `2 더하기 3은 ${2+3}입니다.` //“2 더하기 3은 5입니다.”
- backtick은 여러 줄을 포함할 수 있음
let desc = `오늘은 맑고 화창한
날씨가 계속되겠습니다.
내일은 비 소식이 있습니다.`;
let desc2 = '오늘은 맑고 화창한\n날씨가 되겠습니다.';
→ 큰 따옴표나 작은 따옴표를 사용할 경우에는 \n을 사용
let desc3 = '오늘은 맑고 화창한
날씨가 계속되겠습니다.
내일은 비 소식이 있습니다.' //error 발생
→ backtick 예시와 같이 줄 바꿈을 하면 에러가 발생함
length: 문자열 길이
let desc = '안녕하세요.';
desc.length; //6
특정 위치에 접근 (0부터 시작)
let desc = '안녕하세요.';
desc[2]; //“하”
desc[4] = '용'; //desc는 그대로 ‘안녕하세요.’로 값이 변경되지 않음
toUpperCase() / toLowerCase(): 영어의 경우, 대문자/소문자로 변환
let desc = "Hi guys. Nice to meet you.";
desc.toUpperCase(); //“HI GUYS. NICE TO MEET YOU.”
desc.toLowerCase(); //“hi guys. nice to meet you.”
str.indexOf(txt, n): str의 인덱스 n부터 탐색을 시작하여 찾아낸 txt의 위치 반환
let desc = "Hi guys. Nice to meet you.";
desc.indexOf('to'); //14
desc.indexOf('of') //-1
→ 찾는 문자가 없으면 -1을 반환
→ 찾는 문자를 여러 곳에 포함하고 있어도 첫 번째 위치만 반환
if(desc.indexOf('Hi')) {
console.log('Hi가 포함된 문장입니다.');
}
→ 이렇게 하면 desc.indexOf(‘Hi’)가 0이기 때문에 false가 돼서 Hi가 포함된 문장임에도 콘솔을 찍을 수 없음.
if(desc.indexOf('Hi') > -1) {
console.log('Hi가 포함된 문장입니다.');
}
→ 이것처럼 조건문에 indexOf()가 -1보다 큰 경우로 해줘야 함
str.includes(txt, n): str의 인덱스 n부터 시작하여 txt를 포함하면 true, 포함하지 않으면 false 반환
- 대소문자 구분
let desc = "Hi guys. Nice to meet you.";
desc.includes('to'); //true
desc.includes('to', 16); //false
desc.includes('nice'); //false
str.slice(n, m): 특정 범위(n부터 m까지)의 문자열 반환
- n이 undefined면 인덱스 0부터
- n이 음수면 끝을 0으로 하여 인덱스 n-1부터
- m을 생략하면 인덱스 n부터 문자열 끝까지 반환
- m이 양수면 시작을 0으로 하여 인덱스 m-1까지
- m이 음수면 끝을 0으로 하여 인덱스 m까지
let desc = "abcdefg";
desc.slice(2); //“cdefg”
desc.slice(-2); //“fg”
desc.slice(1, 5); //“bcde”
desc.slice(2, -2); //“cde”
desc.slice(-3, 6); //“ef”
str.substring(n, m): n과 m사이의 문자열 반환
- slice와 유사하지만 m과 n을 바꿔도 동작
- 음수는 0으로 인식
let desc = "abcdefg";
desc.substring(2, 5); //“cde”
desc.substring(5, 2); //“cde”
str.substr(n, m): n부터 시작하여 m개의 문자열 반환
- n은 slice와 같음
let desc = "abcdefg";
desc.substr(2, 4); //“cdef”
desc.substr(-4, 2); //“de”
str.trim(): str의 앞 뒤 공백을 제거한 문자열 반환
let desc = " c o d ing ";
desc.trim(); //“c o d ing”
str.repeat(n): str을 n번 반복한 문자열 반환
let hello = "hello!";
hello.repeat(3); //“hello!hello!hello!”
문자열 비교
"a" < "c" //true (아스키코드 기준)
"a".codePointAt(0); //97
→ codePointAt(0)에서 0은 문자열 인덱스 위치
String.fromCodePoint(97); //“a”
↓[코딩앙마] 자바스크립트 중급 강좌 링크
https://www.youtube.com/watch?v=G360D6lqrfo