IT&컴퓨터공학/Javascript

[Javascript] 문자열 그리고 쓸모있는 문자열 메소드

yan_z 2021. 1. 23. 22:57

작은따옴표 , 큰 따옴표, 백틱의 차이점

 

작은따옴표와 큰 따옴표는 큰 차이가 없다.

let name ="Molly";
console.log(`HI ! my dog's name is ${name}`);

백틱(` `)의 경우 , 위에서 볼 수 있듯이 ${  } 를 이용해서 변수를 넣을 때 자주 사용한다.

 

문자열 메소드

 

  • str.length ( 메소드는 아니지만 ) : 문자열의 길이
let name ="Molly";
console.log(name.length); // 5

 

  • str.toUpperCase() : 문자에있는 모든 소문자를 대문자로 바꿔주는 메소드
let name ="Molly";
name = name.toUpperCase();
console.log(name); // MOLLY

 

  • str.toLowerCase() : 문자에있는 모든 대문자를 소문자로 바꿔주는 메소드
let name ="Molly";
name = name.toLowerCase();
console.log(name); // molly

 

  • str.indexOf(text) : 문자열안에 있는 해당 문자열의 시작 인덱스를 찾아서 반환해주는 메소드
let name ="Hi Molly! Good morning!";
let index = name.indexOf('Molly');
console.log(index); //3
let name ="Hi Molly! Good morning!";
let index = name.indexOf('dinner');
console.log(index); //-1

해당하는 문자열이 없으면 -1 을 반환한다.

 

  • str.slice(start , end) : 문자열을 잘라서 자른 문자열을 반환하는 메소드
let str ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 총 문자열의 길이 8

// end 가 없으면 끝까지 출력
let small_str = str.slice(5);
console.log(small_str); // 출력 : FGHIJKLMNOPQRSTUVWXYZ

// end 가 양수면 end 까지는 포함 안함
small_str = str.slice(0,5);
console.log(small_str); // 출력 : ABCDE

// end 가 음수면 맨 끝부터 센다
small_str = str.slice(0,-2);
console.log(small_str); // 출력 : ABCDEFGHIJKLMNOPQRSTUVWX

 

  • str.substring(start, end) : slice 와 비슷하지만 start, end 가 서로 바뀌어도 정상적으로 동작한다.
let str ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 총 문자열의 길이 8

let small_str = str.substring(0,5);
console.log(small_str); // 출력 : ABCDE

small_str = str.substring(5,0);
console.log(small_str); // 출력 : ABCDE

// 음수는 취급하지않는다
small_str = str.substring(0,-2);
console.log(small_str); // 출력 : X

 

  • str.substr(n,m) : 문자열 안에 문자열을 가져오는데, m 이 인덱스가 아니라 "몇 개" 를 의미한다.
let str ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 총 문자열의 길이 8

let small_str = str.substr(1,5);
console.log(small_str); // 출력 : BCDEF

 

  • str.trim() : 앞 뒤 공백 제거 ( 주의 : 앞 뒤 공백만 제거해준다 ! 사이 공백은 제거 X ) 
let str ="ABCDEFGHIJK       "; 

let delete_str = str.trim();
console.log(delete_str); // 출력 : ABCDEFGHIJK