${…}
을 사용해 표현식도 넣을 수 있다는 점이 특징입니다.\n
같은 특수 문자를 사용할 수 있습니다. \u...
를 사용하면 해당 문자의 유니코드를 사용해 글자를 만들 수 있습니다.[]
를 사용하세요.slice
나 substring
을 사용하세요.toLowerCase
, 대문자로 바꾸려면 toUpperCase
를 사용하세요.indexOf
를 사용하면 부분 문자열의 위치를 얻을 수 있습니다. 부분 문자열 여부만 알고 싶다면 includes/startsWith/endsWith
를 사용하면 됩니다.localeCompare
를 사용하세요. 이 메서드를 사용하지 않으면 글자 코드를 기준으로 문자열이 비교됩니다.이외에도 문자열에 쓸 수 있는 유용한 메서드 몇 가지가 있습니다.
str.trim()
– 문자열 앞과 끝의 공백 문자를 다듬어 줍니다(제거함).str.repeat(n)
– 문자열을 n
번 반복합니다./* backtisks */
let guestList = `손님:
* John
* Pete
* Mary
`;
console.log(guestList); // 손님 리스트를 여러 줄에 걸쳐 작성함
///////////////////////////////////////////
/* 특수 문자 */
console.log( "\u00A9" ); // ©
console.log( "\u{20331}" ); // 佫, 중국어(긴 유니코드)
console.log( "\u{1F60D}" ); // 😍, 웃는 얼굴 기호(긴 유니코드)
⇒ 1번
/* str의 첫 글자를 대문자로 바꿔 반환하는 함수, ucFirst(str)를 만들어보세요. */
function ucFirst(str){
let newName = str[0].toUpperCase() + str.slice(1);
//console.log(newName);
return newName;
}
//let name = "john";
console.log(ucFirst("john") == "John");
⇒ 2번
/* 스팸 문자열 걸러내기
str에 'viagra’나 'XXX’라는 문자열이 있으면 true를 반환해주는 함수 checkSpam(str)을 만들어보세요. 해당 문자열이 없으면 false를 반환하면 됩니다.
함수는 대·소문자 관계없이 해당 단어를 걸러주어야 합니다.
*/
function checkSpam(str){
let lowerStr = str.toLowerCase();
return lowerStr.includes('viagra') || lowerStr.includes('xxx');
}
console.log(checkSpam('buy ViAgRA now') == true); // true
console.log(checkSpam('free xxxxx') == true); // true
console.log(checkSpam("innocent rabbit") == false); // true
⇒ 3번
/*
>>>>> 문자열 줄이기
str의 길이를 확인하고, 최대 길이 maxlength를 초과하는 경우
str의 끝을 생략 부호 ("…")로 대체해주는 함수 truncate(str, maxlength)를 만들어봅시다. 새로 만든 문자열의 길이는 maxlength가 되어야 합니다.
함수의 반환 값은 원하는 길이로 줄여진 문자열이 되어야 합니다.
예시:
truncate("What I'd like to tell on this topic is:", 20) = "What I'd like to te…"
truncate("Hi everyone!", 20) = "Hi everyone!"
*/
function truncate(str, maxlength){
// maxlength 보다 짧을 경우 -> 그대로 return
let strLength = str.length; // str의 길이를 파악
if (strLength <= maxlength) return str;
// maxlength 보다 클 경우
return str.slice(0,19) + `…`;
}
console.log(truncate("What I'd like to tell on this topic is:", 20));
console.log(truncate("Hi everyone!", 20));
나에게 있어 자바스크립트는 회사에 입사하고 나서 사용한 언어이다.
전공생 시절 웹 프로젝트 수업 때문에 자바스크립트를 경험한 적은 있으나, 이것으로 인해 할 줄 안다고 말하기는 좀 그렇다. [학교에서 c, c#, c++도 배웠는데 이것을 조금 배웠다와 할 줄 아는 것은 엄연히 다르듯…]
각설하고, 나에게 입사하기 전 메인 언어는 Python과 Java였다. 그 상태에서 입사하여 자바스크립트를 하니….당연히 많은 자바스크립트 메소드를 모를 수밖에 없다.
이번 챕터에서 문자열과 관련된 다양한 메소드를 배웠는데, 그래도 Python과 Java에 나오는 문자열 메서드와 얼추 비슷하다는 것????
아쉬운 점은 지금 나온 문자열 메서드 중 내가 실무에서 사용하는 것은 indexOf 정도밖에 없다는 것이다. 하지만, 경력이 쌓이면 쌓일수록 문자열을 다루게 될 경우의 수는 늘어날 수밖에 없으니, 그때를 위하여 미리미리 공부해야겠다.