문자열의 종류는
', " , ` (숫자1 왼쪽 백틱이라 읽음)
뭘 쓰던 상관없지만 편하게 사용하는 방법이 있음
let html = '<div class = "box_title">제목 영역</div>';
html에서 "를 사용하기 때문에 ' 로 감싸는게 편함
let desc = "It's 3 o'clock."
영어로된 문장에선 '를 사용하기때문에 " 로 감싸는게 편함
let name = "Mike";
let result = `My name is ${name}.` -> My name is Mike.
let add = `2 더하기 3은 ${2+3}입니다.` -> 2 더하기 3은 5입니다.
백틱은 중간에 ${}로 변수로 표현하거나 표현식을 사용할 수 있음
``으로 표현시
let desc = `오늘은 말고 화창한
날씨가 계속 되겠습니다.
내일은 비소식이 있습니다.`;
'',""로 표현시
let desc = '오늘은 말고 화창한\n날씨가 계속 되겠습니다.내일은 비소식이 있습니다.';
**줄 바꿈시 에러가 뜸**
let desc = '오늘은 말고 화창한 // error!
날씨가 계속 되겠습니다.
내일은 비소식이 있습니다.';
length : 문자열 길이
let desc = '안녕하세요.';
desc.length -> 6
특정 위치에 접근
let desc = '안녕하세요.'; []는 index 번호이기때문에 0 1 2 3 4 5 중 3번째인
(index2)하 출력
desc[2] -> '하'
desc[4] = '용'; 배열과 다르게 한글자만 바꿔도
console.log(desc); -> 안녕하세요. 변화가 없음
toUpperCase() / toLowerCase()
모든영어를 대문자 / 소문자로 바꿔줌
str.indexOf(text)
let desc = "Hi guys. Nice to meet you.";
desc.indexOf("to"); -> 14 index 번호를 인수로 받아 공백을 포함한 몇번째에
위치하는지 알려줌
주의할점 같은 문자가 여러개 일때
제일 먼저 나오는 문자의 번호만 나옴
desc.indexOf("man") -> -1 찾는 문자가 없을땐 -1 을 반환
if(desc.indexof("Hi")){
console.log("Hi가 포함된 문장입니다."); 이렇게 쓰면 index 번호가 0 이기때문에
false를 반환하며 그 결과 if문에 true가
아니기때문에 반환하지 못함
}
**해결법**
if(desc.indexof("Hi") > -1){
console.log("Hi가 포함된 문장입니다."); -> 반환
str.slice(n,m) 특정 범위의 문자열 가져오기 n 부터 m 까지
m은없으면 문자열 끝까지 양수면 그 숫자까지 (포함하지 않음)
음수면 끝에서부터 셈
let desc = 'abcdefg';
desc.slice(2) // "cdefg"
desc.slice(0,5) // "abcde"
desc.slice(2,-2) // "cde" 인덱스 2번부터 끝에서 2번째 위치까지 반환
str.substring(n,m) n 과 m사이 문자열 반환 n과 m을 바꿔도 동작함
단순히 n과 m사이라고 생각하면 됨 음수는 0 으로 인식
let desc = 'abcdefg';
desc.substring(2, 5) // 'cde'
desc.substring(5, 2) // 'cde' 같은걸 반환
str.substr(n, m) n부터 시작 m개를 가져옴
let desc = "abcdefg";
desc.substr(2,4) -> "cdef"
desc.substr(-4,2) -> "de" -는 0 부터 시작이 아닌 -1 부터 시작인듯
str.trim() : 앞 뒤 공백 제거
let desc = ' coding ';
desc.trim(); -> 'coding'
str.repeat(n) : n번 반복
let hello = 'hello!';
hello.repeat(3); // 'hello!hello!hello!'
문자열 비교
1 < 3 // true
"a" < "c" // true
예제
let list = [
"01. 들어가며",
"02. JS의 역사",
"03. 자료형",
"04. 함수",
"05. 배열",
];
let newList = [];
for(let i = 0;i < list.length;i++){
newList.push(
list[i].slice(4); 숫자들은 제외하며 문자들만 나옴
);
}
console.log(newList); -> ["들어가며", "JS의 역사", "자료형", "함수", "배열"]
금칙어: 콜라
function hasCola(str){
if(str.indexOf('콜라') > -1){
console.log('금칙어가 있습니다.');
} else{
console.log('통과')
}
}
hasCola('와 사이다가 짱이야!'); // 없기때문에 -1 이 나옴
hasCola('무슨소리, 콜라가 최고');
hasCola('콜라'); // 첫번째에 위치하기때문에 0 이 나옴 그래서 if문에 조건을 걸어줌
금칙어 : 콜라
includes
문자가 있으면 true
없으면 false 반환
function hasCola(str){
if(str.includes('콜라')){
console.log('금칙어가 있습니다.');
} else{
console.log('통과')
}
}
hasCola('와 사이다가 짱이야!'); -> 통과
hasCola('무슨소리, 콜라가 최고'); -> 금칙어가 있습니다.
hasCola('콜라'); -> 금칙어가 있습니다.