안녕하세요. 박기린 입니다.
이번엔 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');
반응형
'JS > JavaScript 강의' 카테고리의 다른 글
43. Default Parameters, Reference Arguments In Function (0) | 2022.11.25 |
---|---|
42-2. String 내장 메소드를 응용해보기 (0) | 2022.11.23 |
41. Looping Objects: Object Keys, Values, and Entries (0) | 2022.11.19 |
40. Optional Chaining (?.) (0) | 2022.11.16 |
39. ES6 버전의 Enhanced Object Literals (0) | 2022.11.15 |