본문 바로가기
JS/JavaScript 강의

42. String 내장 메소드를 응용해보기

by 박기린 2022. 11. 22.

안녕하세요. 박기린 입니다.

이번엔 String 내장 메소드를 응용한 사례들을 소개해드리겠습니다.

 

 


Fix capitalization in name

const passenger = 'GiraFFE';
const passengerLower = passenger.toLowerCase(); // 모두 소문자로
const passengerCorrect = passengerLower[0].toUpperCase() + passengerLower.slice(1); // 첫 글자만 대문자로
console.log(passengerCorrect); // Giraffe

대문자, 소문자가 섞인 이름을 첫 글자만 대문자인 이름으로 바꿔주는 코드입니다.

 

String.prototype.toLowerCase() : 모든 글자를 소문자로 만듭니다
String.prototype.toUpperCase() : 모든 글자를 대문자로 만듭니다.

String.prototype.slice(indexStart, indexEnd) : indexStart 지점부터 indexEnd 지점까지 String을 자른 후 return 합니다.
만약 위의 코드처럼 인수를 하나만 받으면, 해당 지점부터 시작해서 끝까지 String을 자른 후 return 합니다.

 

 


Comparing Emails

const email = 'hello@giraffe.io';
const loginEmail = ' Hello@Giraffe.Io\n';

const lowerEmail = loginEmail.toLowerCase();
const trimmedEmail = lowerEmail.trim();
console.log(trimmedEmail); // hello@giraffe.io
console.log(trimmedEmail === email); // true

입력받은 이메일을 자동으로 소문자로 만들고, 앞뒤 공백을 지워줍니다.

 

String.prototype.trim() : String의 시작과 끝 부분의 공백을 지워줍니다. '\n'도 공백으로 인식하고 같이 지워줍니다.

 

 

const loginEmail = ' Hello@Giraffe.Io\n';
const normalizedEmail = loginEmail.toLowerCase().trim();
console.log(normalizedEmail); // hello@giraffe.io

String의 메소드를 한 번에 여러 개 적용시킬 수 있습니다.

 

 

 


Replacing

const announcement = 'All passengers come to boarding door 23. Boarding door 23!';

console.log(announcement.replace('door', 'gate')); // 하나만 바뀜
console.log(announcement.replaceAll('door', 'gate'));
console.log(announcement.replace(/door/g, 'gate'));

특정 String을 선택해서, 다른 문자로 바꿔줄 수 있습니다.

 

String.prototype.replace(바꿀 대상, 원하는 문자) : 맨 처음으로 등장하는 하나의 '바꿀 대상'만 치환됩니다.
String.prototype.replaceAll(바꿀 대상, 원하는 문자) : 등장하는 모든 '바꿀 대상'이 치환됩니다.

- 정규식을 이용해서 replaceAll()과 동일한 기능을 하게 만들기 - 
String.prototype.replace(/바꿀대상/g, 원하는 문자) : 등장하는 모든 '바꿀 대상'이 치환됩니다.

 

 

 


Boolean 값을 return하는 methods

const plane = 'Airbus A320neo';
console.log(plane.includes('A320'));
console.log(plane.includes('Boeing'));
console.log(plane.startsWith('Airb'));

if (plane.startsWith('Airbus') && plane.endsWith('neo')) {
 console.log('Part of the NEW ARirbus family');
}

결과값으로 Boolean(true/false) 값을 return하는 내장 메소드들입니다.

 

String.prototype.includes(찾는 글자) : String 안에 '찾는 글자'가 있다면 true, 아니면 false를 return 합니다.
String.prototype.startsWith(찾는 글자) : String이 '찾는 글자'로 시작한다면 true, 아니면 false를 return 합니다.
String.prototype.endsWith(찾는 글자) : String이 '찾는 글자'로 끝난다면 true, 아니면 false를 return 합니다.

 

 

 


오늘 알아본 메소드들을 이용한 수하물 체크 함수

const checkBaggage = function (items) {
  const baggage = items.toLowerCase();

  if (baggage.includes('knife') || baggage.includes('gun')) {
    console.log('You are NOT allowed on board');
  } else {
    console.log('Welcome aboard!');
  }
};

checkBaggage('I have a laptop, some Food and a pocket Knife');
checkBaggage('Socks and camera');
checkBaggage('Got some snacks and a gun for protection');

 

 

반응형