자바스크립트 중급 강좌 (문자열 매서드)

히대·2023년 11월 10일

Javascript

목록 보기
16/28

문자열의 종류는
', " , ` (숫자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('콜라'); -> 금칙어가 있습니다.
profile
아자아자 파이팅🔥

0개의 댓글