인프런 자바스크립트 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
String 객체 내장함수
- length
문자열의 길이를 알려주는 함수이다.
var txt = "ABCDEFGHIJKLMN"; console.log(txt.length); // 결과 : 14 //문자열이 몇 글자인지 알려주는 함수
- indexOf
문자열 안에 원하는 키워드가 있다면 어디에 있는지를 인덱스 번호로 알려주는 함수이다.
var str = "Please locate where 'locate'"; console.log(str.indexOf("locate")); // 결과 : 7 //가장 먼저 발견된 locate가 시작되는 인덱스 번호를 알려주는 함수 //단, 인덱스 번호는 0부터 시작 var str = "Please locate where 'locate'"; console.log(str.indexOf("John")); // 결과 : -1 //-1은 찾고자 하는 키워드가 문자열에 없다는 것을 의미함
<활용 예시>if(str.indexOf("locate") > -1) { console.log("locate문자 발견"); } // 결과 : 'locate문자 발견'이 출력됨 if(str.indexOf("John") > -1) { console.log("locate문자 발견"); } // 결과 : 아무 것도 출력되지 않음(해당 키워드가 문자열에 없기 때문)
- lastIndexOf
문자열 안에 원하는 키워드가 있다면 가장 마지막에 발견된 위치를 인덱스 번호로 알려주는 함수이다.
var str = "Please locate where 'locate'"; console.log(str.lastIndexOf("locate")); // 결과 : 21 //마지막에 발견된 locate가 시작되는 인덱스 번호를 알려주는 함수 //단, 인덱스 번호는 0부터 시작
- search
indexOf함수와 동일한 기능을 하는 함수이다.
var str = "Please locate where 'locate'"; console.log(str.search("locate")); // 결과 : 7
- slice
문자열의 일부분을 잘라내서 보여주는 함수이다.
var str = "Apple, Banana, Kiwi"; console.log(str.slice(7, 13)); // 결과 : Banana //7은 시작점을 의미하며, 13은 끝점을 의미한다. //주의할 점은 끝점이 포함되지 않는다는 것이다.(끝점 바로 앞 글자까지 가져옴) console.log(str.slice(7)); // 결과 : Banana, Kiwi //끝점을 지정하지 않으면, 시작점부터 이후 모든 글자를 가져온다. console.log(str.slice(-12)); // 결과 : Banana, Kiwi //뒤에서부터 앞으로 12번째에 있는 글자(B)에서 시작하여, //그 이후에 있는 모든 글자를 가져온다. //전달인자가 -값이 되면 뒤에서부터 문자열의 인덱스 번호를 센다. //단, 뒤에서부터 세면 0이 아닌 -1부터 시작한다. console.log(str.slice(-1)); // 결과 : i //뒤에서부터 앞으로 1번째에 있는 글자(i)에서 시작하여, //그 이후에 있는 모든 글자를 가져온다. console.log(str.slice(-12, -6)); // 결과 : Banana //뒤에서부터 앞으로 12번째에 있는 글자(B)가 시작점이 되고, //뒤에서부터 앞으로 6번째에 있는 글자(,)가 끝점이 되어, //끝점의 바로 앞 글자까지 가져온다.
- substring
Slice 함수와 비슷한 기능을 하는 함수이다.
var str = "Apple, Banana, Kiwi"; console.log(str.substring(7, 13)); // 결과 : Banana //Slice 함수와 동일한 결과
<활용 예시>var birthday = "1997-05-27"; console.log(birthday.substring(0, birthday.indexOf("-"))); // 결과 : 1997 //생년월일 중 태어난 연도를 알고자 할 때 사용하며, //시작점은 0, 끝점은 "-"가 첫번째로 나오는 위치(4)가 된다. //결국 문자열의 인덱스 번호 0부터 4 바로 앞의 글자까지 가져오는 것이다. console.log(birthday.slice(0, birthday.indexOf("-"))); // 결과 : 1997 //substring 함수는 정확하게 몇 글자를 가져와야 할지 모르는 경우에 사용하며, //indexOf 함수를 함께 사용하면 편리하다. //slice 함수의 경우도 동일한 원리로 사용 가능하다.
- substr
문자열 안에 특정 시작점부터 원하는 만큼의 글자 수를 가져오는 함수이다.
var str = "Apple, Banana, Kiwi"; console.log(str.substr(7, 6)); // 결과 : Banana //7은 시작점을 의미하고, 뒤에 있는 전달인자는 시작점부터 //몇 글자를 가져올지를 결정하는 숫자이다.
<활용 예시>var birthday = "970527"; console.log(birthday.substr(0,2)); // 결과 : 97 //생년월일 중 태어난 연도를 알고자 할 때 사용한다. console.log(birthday.substr(2,2)); // 결과 : 05 //생년월일 중 태어난 달을 알고자 할 때 사용한다. //즉, substr은 정확하게 몇 글자를 가져와야 할지 알고 있는 경우 사용한다.
- replace
문자열에서 특정 키워드를 다른 키워드로 바꾸고 싶을 때 사용하는 함수이다.
var str = "Please visit here!"; var str2 = str.replace("here", "there"); console.log(str2); // 결과 : Please visit there! //str.replace("here", "there");에서 앞의 파라미터는 바꾸고자 하는 키워드이고, //뒤의 파라미터는 앞의 파라미터를 대체할 키워드이다.
<참고>var str = "Please visit here here here!"; var str2 = str.replace("here", "there"); console.log(str2); // 결과 : Please visit there here here! //이 경우에 맨 앞의 here만 there로 바뀌고 나머지는 그대로 유지된다. //만약 모든 here을 there로 바꾸기 위해서는 정규식을 사용해야 한다. //정규식 사용 예시(추후에 더욱 자세히 다룰 예정) var str = "Please visit here here here!"; var str2 = str.replace(/here/g, "there"); console.log(str2); // 결과 : Please visit there there there //정규식을 사용하면 모든 here가 there로 대체된다. var str = "Please visit here Here here!"; var str2 = str.replace(/here/g, "there"); console.log(str2); // 결과 : Please visit there Here there! //하지만 HERE은 대문자이므로 바뀌지 않는 문제가 발생한다. var str = "Please visit here Here here!"; var str2 = str.replace(/here/gi, "there"); console.log(str2); // 결과 : Please visit there there there! //위의 문제를 해결하기 위해서는 g대신 gi를 코드로 써야한다. //이는 대소문자 구분 없이 모두 바꾸라는 의미이다.
- uppercase
모든 문자열을 대문자로 바꿔주는 함수이다.
var str = "Please visit here Here here!"; console.log(str.toUpperCase()); // 결과 : PLEASE VISIT HERE HERE HERE!
- lowercase
모든 문자열을 소문자로 바꿔주는 함수이다.
var str = "Please visit here Here here!"; console.log(str.toLowerCase()); // 결과 : please visit here Here here!
<참고 : 실무에서 uppercase, lowercase의 활용 예시>
만약 데이터베이스에서 어떤 문자열을 찾을 경우, 대·소문자가 구분되는 문자열의 경우에는
무조건 대문자 혹은 소문자로 전체 변경시키고 난 후에 해당 문자열을 데이터베이스에서 찾아야 한다.
그렇지 않으면, 데이터베이스에서 해당 문자열의 소문자는 찾아내지만 대문자는 찾아내지 못하는
문제가 발생할 수 있기 때문이다.
- concat
문자열을 서로 붙여주는 함수이다.
//일반적인 경우 var txt1 = "Hello"; var txt2 = "world"; var txt3 = txt1 + " " + txt2; console.log(txt3); // 결과 : Hello world //두 문자를 붙여줄 때 위와 같은 방식을 쓰기도 하지만 //concat 함수를 사용할 수도 있다. //concat 함수를 사용하는 경우 var txt1 = "Hello"; var txt2 = "world"; var txt4 = txt1.concat(txt2); console.log(txt4); // 결과 : Helloworld //단, concat 함수를 사용하면 두 문자열을 공백없이 붙여준다. var txt1 = "Hello"; var txt2 = "world"; var txt4 = txt1.concat(" ", txt2); //공백의 문자열을 파라미터로 추가 console.log(txt4); // 결과 : Hello world //concat() 함수는 무한대로 파라미터를 가질 수 있으며, //앞에서부터 순서대로 파라미터들을 모두 붙여준다.
- trim
문자열에서 첫 번째 글자와 마지막 글자의 앞뒤로 존재하는 공백을 모두 없애주는 함수이다.
var str = " Hello world! "; console.log(str); // 결과 : " Hello world! " (공백 존재) console.log(str.trim()); // 결과 : Hello world! (공백 존재X) //데이터베이스에 정보를 조회할 경우, 공백 때문에 검색되지 않는 문제를 사전에 방지하고자 //먼저 공백을 제거하기 위해 사용하는 함수이다.
- padStrat
원하는 자릿수의 문자열로 바꿀 때 사용하는 함수이다.
var str = "5"; console.log(str.padStart(4,0)); // 결과 : 0005 //4자리의 문자열을 만든다. (단, 자리수는 앞으로 채움) //앞의 파라미터는 몇 자리 문자열을 만들 것인지를 의미하고, //뒤의 파라미터는 해당 자리수를 만들 때 앞자리를 어떤 것으로 채울지 의미하는 숫자이다.
- padEnd
원하는 자릿수의 문자열로 바꿀 때 사용하는 함수이다.
var str = "5"; console.log(str.padEnd(4,0)); // 결과 : 5000 //4자리의 문자열을 만든다. (단, 자리수는 뒤로 채움) //앞의 파라미터는 몇 자리 문자열을 만들 것인지를 의미하고, //뒤의 파라미터는 해당 자리수를 만들 때 뒷자리를 어떤 것으로 채울지 의미하는 숫자이다.
<참고>
만약 실무에서 어떤 제품 코드를 12자리로 관리한다고 할 경우, 강제적으로 12자리를 만들기 위해
해당 함수들을 사용한다 : 12 >>>000000000012 (padStart 함수 사용하여 자릿수 변경)
- charAt
문자열에서 원하는 특정 글자 한 개를 가져올 때 사용하는 함수이다.
var str = "Hello world"; console.log(str.charAt(0)); // 결과 : H console.log(str.charAt(2)); // 결과 : l
- split
문자열을 특정 기호 혹은 글자 기준으로 분리하여 각각을 배열로 보여주는 함수이다.
var tags = "키보드,기계식,블루투스"; var arr = tags.split(","); //문자열을 분리하는 기준이 되는 기호 console.log(arr); // 결과 : //Array(3) //0: "키보드" //1: "기계식" //2: "블루투스" //length: 3 //[[Prototype]]: Array(0) var birthday = "1997-06-14"; var arr2 = birthday.split("-"); //문자열을 분리하는 기준이 되는 기호 console.log(arr2); // 결과 : //Array(3) //0: "1997" //1: "06" //2: "14" //length: 3 //[[Prototype]]: Array(0)
'Javascript' 카테고리의 다른 글
Javascript - Boolean 내장함수 (0) | 2021.09.21 |
---|---|
Javascript - Number 내장함수 (0) | 2021.09.19 |
Javascript - 함수(function) (0) | 2021.09.18 |
Javascript - 반복문(for, for-in, for-of, while, do-while) (0) | 2021.09.18 |
Javascript - 조건문(if-else, switch) (0) | 2021.09.18 |
댓글