06. includes()

"문자열".includes, [위치값])
{
    "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(검색값, [위치값])
{
    "javascript reference".indexOf("javascript");   // 0
    "javascript reference".indexOf("javascripts");  // -1
    "javascript reference".indexOf("j");   // 0
    "javascript reference".indexOf("J");   // -1
    "javascript reference".indexOf("a");   // 1
    "javascript reference".indexOf("ja");  // 0
    "javascript reference".indexOf("jv");  // -1
    "javascript reference".indexOf("reference")   // 11
    "javascript reference".indexOf("r");    // 6
    "javascript reference".indexOf("re");   // 11
    "javascript reference".indexOf("javascript", 0);    // 0
    "javascript reference".indexOf("javascript", 1);    // -1
    "javascript reference".indexOf("reference", 0);   // 11 값은 처음부터 계산
    "javascript reference".indexOf("reference", 11);  // 11
    "javascript reference".indexOf("reference", 12);  // -1
    "javascript reference".indexOf("r", 7);    // 11
    "javascript reference".indexOf("r", 12);   // 15
    }

08. LastIndexOf()

"문자열".lastIndexOf(검색값, [위치값])
{
    "javascript reference".lastIndexOf("javascript");   //0 있으면 0출력
    "javascript reference".lastIndexOf("javascripts");   //없으면 -1
    "javascript reference".lastIndexOf("j");   //0 j값이 0이므로 0출력
    "javascript reference".lastIndexOf("a");   //3 뒤에서부터 시작한다.
    "javascript reference".lastIndexOf("jv");   //-1 
    "javascript reference".lastIndexOf("reference");   //11
    "javascript reference".lastIndexOf("r");   //15
}

10. match()

"문자열".match(검색값)
"문자열".match(정규식표현)
{
    "javascript reference".match("javascript");    //"javascript" 소개팅 하는 것처럼
    "javascript reference".match("reference");    //"reference"
    "javascript reference".match("r");             //"r"
    "javascript reference".match("R");             //null 없는 값이 출력됨
    "javascript reference".match(/reference/);    //reference /->정규식 표현 큰 따옴표 대신해서 사용
    "javascript reference".match(/Reference/);    //null
    "javascript reference".match(/Reference/i);   //reference //i가 대문자에서 소문자로 바꿔줌
    "javascript reference".match(/Reference/g/i);   //reference //g가 글로벌인데 g랑 i로 같이 씀 
    "javascript reference".match(/r/);             //r
    "javascript reference".match(/r/g);            //r r r //g가 붙으면 모든 r을 다 출력시킨다.
    "javascript reference".match(/w/g);            //null //w가 없어서 
}

18. search()

"문자열".search(검색값)
"문자열".search(정규식표현)
{
    "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가 소문자로 인식해줌 reference
    "javascript reference".search(/[a-z]/g);        //0 알파벳으로 뽑히는데 시작이 j라서 0
    "자바스크립트".search(/[a-z]/g);                  //-1
}

06. 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,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'] 
    "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 리버스는 배열에서 가능하다. 배열인지 스트링인지 구분해야함
    "javascript ".split("").reverse().join("/");      //t/p/i/r/c/s/a/v/a/j

    console.log("javascript ".split("").reverse().join("/"));

30. trim()

"문자열".trim()
{
    "javascript".trim("")   //javascript
    "javascript ".trim("")   //javascript
    " javascript ".trim("")   //javascript
    "java script".trim("")   //java script

31. trimStart()

"문자열".trimStart()
{
    " java script ".trimStart("")   // java script

32. trimEnd()

"문자열".trimEnd()
{
    " javascript ".trimEnd("")   //java script
    " javascript".trimEnd("")   //java script
    " java script ".trimEnd("")   //java script