01. at()

"문자열".at(위치값)
  • 주어진 위치값에 해당하는 문자를 반환합니다.
  • 위치값은 0부터 시작하며, 음수값도 허용됩니다.
  • 문자열의 범위를 벗어나는 경우 "undefined"를 반환합니다.
"javascript refernce".at(0);   //j
"javascript refernce".at(1);   //a
"javascript refernce".at(-1);   //e
"javascript refernce".at(-7);   //e
"javascript refernce".at(-7);   //e
"javascript refernce".at(20);   //undefined
"javascript refernce".at(-20);   //undefined

02. charAt()

"문자열".charAt(위치값)
  • 지정된 위치값에 위치한 문자를 반환합니다.
  • 위치값은 0부터 시작하며, 문자열의 길이보다 큰 값을 입력하면 빈 문자열(`' '`)을 반환합니다.
"javascript refernce".charAt(0);     //j
"javascript refernce".charAt(8);     //p
"javascript refernce".charAt(10);     //(빈 문자열)
"javascript refernce".charAt(15);     //r

"javascript refernce".charAt(-1);    //(빈 문자열)

03. charCodeAt()

"문자열".charCodeAt(위치값)
  • 문자열에서 특정 위치값에 위치한 문자의 유니코드값을 반환하는 메서드입니다.
  • 문자열의 위치값을 매개변수로 받아 해당 위치값에 위치한 문자의 유니코드값을 정수로 반환합니다.
  • 위치값은 0부터 시작하며, 문자열의 길이보다 큰 값이나 음수 값을 전달하면 "NaN" 을 반환합니다.
"javascript refernce".charCodeAt(0);      //106
"javascript refernce".charCodeAt(1);      //97
"javascript refernce".charCodeAt(2);      //118
"javascript refernce".charCodeAt(-1);      //NaN
"javascript refernce".charCodeAt(-1);      //NaN

04. codePointAt()

"문자열".codePointAt(위치값)
  • 특정 위치값에 위치한 유니코드 코드 포인트를 반환하는 메서드
  • 위치값은 0부터 시작하며, 문자열의 길이보다 작아야합니다.
  • 0보다 작거나 문자열의 길이보다 크거나 같은 경우 "undefined"를 반환합니다.
  • 유니코드 문자를 다룰 때 유용하게 사용될 수 있습니다.이모지와 같은 멀티바이트 문자나 유니코드 문자의 이스케이프시퀸스를 다루는 경우 유용하게 사용됩니다.
"javascript".codePointAt(0);    //97
"javascript".codePointAt(1);    //118
"javascript".codePointAt(-1);    //undefiend
"❣💜😥".codePointAt(0);         //10083

05. concat()

"문자열".concat("문자열")
  • 문자열을 결합하여 새로운 문자열로 반환하는 기능을 가지고 있습니다.
  • 반환값 : 새로운 문자열을 반환합니다. 기존 문자열들을 순서대로 결합한 결과를 가지고 있습니다.
  • 여러개의 문자열을 결합해야 하는 경우 유용하게 사용될 수 있습니다.
"java".concat("script");                       //javascript
"javascript".concat(",", "reference");         //javascript,reference
"javascript".concat(" ", "reference");         //javascript reference
"javascript".concat(" ", "reference", "!")     //javascript reference!

06. includes()

"문자열".indexOf(검색값, [위칫값])
  • 문자열을 검색하여, 주어진 값과 일치하는 불린(true, false)을 반환합니다.
  • 대소문자를 구별합니다.
"javascript reference".includes("javascript");    //true
"javascript reference".includes("j");    //true
"javascript reference".includes("J");    //false
"javascript reference".includes("a");    //true
"javascript reference".includes("reference");    //true
"javascript reference".includes("reference", 11);    //true
"javascript reference".includes("reference", 12);    //false

07. indexOf()

"문자열".indexOf(검색값, [위칫값])
  • 문자열을 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
  • 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 -1을 반환합니다.
  • 대소문자를 구별합니다.
"javascript refercenec".indexOf("javascript");      //0
"javascript refercenec".indexOf("javascripts");        //-1
"javascript refercenec".indexOf("j");                  //0(javascript 자릿값)
"javascript refercenec".indexOf("J");                  //-1대소문자 구별
"javascript refercenec".indexOf("a");                  //1(javascript 자릿값 앞에 a값)
"javascript refercenec".indexOf("ja");                 //0
"javascript refercenec".indexOf("jv");                 //-1(빈칸도 자릿수로)
"javascript refercenec".indexOf("refercenec");         //11(빈칸도 자릿수로)
"javascript refercenec".indexOf("r");                  //6
"javascript refercenec".indexOf("re");                 //11
"javascript refercenec".indexOf("javascript", 0);      //0 (뒤에 있는 숫자는 위칫값)
"javascript refercenec".indexOf("javascript", 1);      //-1 (뒤에 있는 숫자는 위칫값)
"javascript refercenec".indexOf("refercenec", 0);      //11 (뒤에 있는 숫자는 위칫값)
"javascript refercenec".indexOf("refercenec", 1);      //-1 (뒤에 있는 숫자는 위칫값)
"javascript refercenec".indexOf("refercenec", 12);     //-1 (뒤에 있는 숫자는 위칫값)
"javascript refercenec".indexOf("r", 7);               //11 (뒤에 있는 숫자는 위칫값)
"javascript refercenec".indexOf("r", 12);              //15 (뒤에 있는 숫자는 위칫값)

08. lastIndexOf()

"문자열".lastIndexOf()(검색값)
"문자열".lastIndexOf()(정규식표현)
  • 문자열(정규식)을 역순으로 검색하고, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
  • 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 null을 반환합니다.
  • 대소문자를 구별합니다.
"javascript reference".lastIndexOf("javascript");    //0
"javascript reference".lastIndexOf("javascripts");    //-1
"javascript reference".lastIndexOf("j");                  //0
"javascript reference".lastIndexOf("a");                  //3
"javascript reference".lastIndexOf("jv");                //-1
"javascript reference".lastIndexOf("reference");        //11
"javascript reference".lastIndexOf("r");                //15

09. localeCompare()

"문자열".localeCompare(비교값)
  • 두 개의 문자열을 비교해 정렬 순서를 결정하는데 사용됩니다.
  • 세 가지의 가능한 반환 값(수치(음수, 양수, 0)) 중 하나를 반환합다.
  • 0: 두 문자열이 동일한 문자열인 경우
  • -1(음수): 정렬 순서상 앞에 있거나 더 작은 문자열인 경우
  • 1(양수): 정렬 순서상 뒤에 있거나 더 큰 문자열인 경우
  • 대소문자 구별, 유니코드 문자 비교 가능(다양한 언어의 알파벳이나 기호 포함 문자열)
"a".localeCompare("a");           //0 
"a".localeCompare("A");           //-1
"A".localeCompare("a");           //1
"a".localeCompare("b");           //1
"b".localeCompare("a");           //-1
"red".localeCompare("blue");      //1
"blue".localeCompare("red");      //-1
"before".localeCompare("after");  //1
"after".localeCompare("before");  //-1

10. match()

"문자열".match(검색값)
"문자열".match(정규식표현)
  • 문자열(정규식)을 검색하고, 문자값(배열)을 반환합니다.
  • 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 null을 반환합니다.
  • 대소문자를 구별합니다.
  • match() 메서드는 문자값(배열).
"javascript reference".match("javascript");    //"javascript"
"javascript reference".match("reference");    //"reference"
"javascript reference".match("r");            //"r"
"javascript reference".match("ja");           //"ja"
"javascript reference".match("R");            //null
"javascript reference".match(/reference/);    //reference
"javascript reference".match(/Reference/);    //null
"javascript reference".match(/Reference/i);    //reference
"javascript reference".match(/Reference/g);    //null
"javascript reference".match(/r/);              //r
"javascript reference".match(/r/g);             //rrr
"javascript reference".match(/w/g);            //null
"javascript reference".match(/R/ig);            //rrr

12. normalize()

"문자열".normalize(정규화)
  • 문자열에 포함된 정규화된 유니코드 문자들을 표준화하여 통일된 형태로 변환할 수 있습니다.
  • normalize()매개변수를 생략하면 NFC 형태로 정규화 됩니다.
  • 정규화된 문자열을 반환합니다.
  • 문자열의 유니코드 정규화를 수행해 문자열 처리의 일관성을 유지할 수 있습니다.
"javascript".normalize();                 //javascript
"javascript".normalize("NFD");        //javascript
"javascript".normalize("NFKC");      //javascript
"javascript".normalize("NFKD");      //javascript

"\u2665".normalize();                    //♥
"\u2665".normalize("NFD");           //♥
"\u2665".normalize("NFKC");         //♥
"\u2665".normalize("NFKD");         //♥

13. padEnd()

"문자열"padEnd(문자열총길이, "추가할문자")
  • 문자열을 특정 길이로 패딩(채움)하는 기능을 제공합니다.
  • 주어진 길이에 도달하기 위해 원본 문자열의 끝에 특정 문자를 추가해 길이를 맞출 수 있습니다.
"javascript".padEnd(10, "-");     //javascript
"javascript".padEnd(10, "-");     //javascript-
"javascript".padEnd(15, "-");     //javascript-----
"javascript".padEnd(15, ".");      //javascript.....

14. padStart()

"문자열".padStart(문자열총길이, "추가할문자")
  • 문자열을 특정 길이로 패딩(채움)하는 기능을 제공합니다.
  • 주어진 길이에 도달하기 위해 원본 문자열의 시작부분에 특정 문자를 추가해 길이를 맞출 수 있습니다.
"javascript".padStart(10, "⁎");       //javascript
"javascript".padStart(15, "⁎");       //⁎⁎⁎⁎⁎javascript
"javascript".padStart(15, "❤");      //❤❤❤❤❤javascript
"javascript".padStart(20, "❤");     //❤❤❤❤❤❤❤❤❤❤javascript

15. repeat()

"문자열".repeat(반복할횟수)
  • 문자열을 주어진 횟수만큼 반복해 새로운 문자열을 생성합니다.
  • 0이상의 정수값만 반복할 수 있습니다. 0보다 작거나 소수이면, "RangeError" 예외가 발생합니다.
"javascript".repeat(1);      //javascript
"javascript".repeat(2);      //javascriptjavascript
"javascript".repeat(3);      //javascriptjavascriptjavascript
"javascript".repeat(-1);     //RangeError

18. search()

"문자열".search(검색값)
"문자열".search(정규식표현)
  • 문자열(정규식)을 검색하고, 위치값(숫자)을 반환합니다.
  • 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 -1을 반환합니다.
  • 대소문자를 구별합니다.
"javascript reference".search("javascript");    //0
"javascript reference".search("reference");    //11
"javascript reference".search("r");    //6
"javascript reference".search("a");    //1
"javascript reference".search("jv");    //-1
"javascript reference".search("J");    //-1
"javascript reference".search(/reference/);    //11
"javascript reference".search(/Reference/);    //-1
"javascript reference".search(/Reference/i);    //11 (i는 대문자를 소문자로 인식)
"javascript reference".search(/[a-z]/g);    //0 (g는 글로벌)

19. slice()

"문자열".slice(시작위치, [끝나는 위치])
  • 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.
"javascript".slice(0);//javascript
"javascript".slice(1);//avascript
"javascript".slice(2);//vascript
"javascript".slice(0, 1);//j
"javascript".slice(1, 2);//a
"javascript".slice(0, 2);//ja
"javascript".slice(0, 3);//jav
"javascript".slice(5, 10);//cript
"javascript".slice(5, -1);//crip
"javascript".slice(5, -2);//cri
"javascript".slice(-1);//t
"javascript".slice(-2);//pt
"javascript".slice(-3);//ipt
"javascript".slice(-3, -1);//ip
"javascript".slice(-3, -2);//i

22. split()

"문자열".split(구분자, [제한])
  • 구분자를 이용하여, 여러개의 문자열(배열)을 반환합니다.
"javascript".split("");//['j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't']
"java script".split(" ");//['java', 'script']
"java scr ipt".split(" ");//['java', 'scr', 'ipt']

"java scr ipt".split("", 1);//['j']
"java scr ipt".split("", 2);//['j', 'a']
"java scr ipt".split("", 3);//['j', 'a', 'v']

"java script".split(" ", 1);//['java']
"java script".split(" ", 2);//['java', 'script']

"javascript".split("j");//['', 'avascript']
"javascript".split("a");//['j', 'v', 'script'] a 다 빠짐
"javascript".split("e");//['javascript']

"java/scr/ipt".split("/");//['java', 'scr', 'ipt']
"java&scr!ipt".split("&");//['java', 'scr!ipt']
"java&scr!ipt".split("!");//['java&scr', 'ipt']
"java&scr!ipt".split(/&|\!/);//['java', 'scr!ipt']

"javascript".split("").join();//j,a,v,a,s,c,r,i,p,t
"javascript".split("").join("*");//j*a*v*a*s*c*r*i*p*t
"javascript".split("").reverse().join();//t,p,i,r,c,s,a,v,a,j //reverse는 문자열에서만 가능
"javascript".split("").reverse().join("/");//t,p,i,r,c,s,a,v,a,j //reverse는 문자열에서만 가능

30. trim()

"문자열".trim()
  • 메서드는 문자열의 앞/뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
"javascript".trim("");//javascript                                                   
"javascript ".trim("");//javascript
" javascript ".trim("");//javascript
" java script ".trim("");//java script

31. trimEnd()

"문자열".trimEnd()
  • 메서드는 문자열의 뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
{
    " javascript ".trimEnd("");//javascript
}

32. trimStart()

"문자열".trimStart()
  • 메서드는 문자열의 앞 공백을 제거하고, 새로운 문자열을 반환합니다.
" javascript ".trimStart("");//javascript