01. 문자 메서드 :

at()

"문자열".at(위치값)

메서드는 정수 값을 받아, 배열에서 해당 값에 해당하는 인덱스의 요소를 반환합니다. 양수와 음수 모두 지정할 수 있고, 음수 값의 경우 배열의 뒤에서부터 인덱스를 셉니다.

  • 'at()' 메소드는 인덱스 값이 문자열 길이를 벗어나는 경우 undefined를 반환합니다.

{
    const array1 = [5, 12, 8, 130, 44];

    let index = 2;

    console.log(`Using an index of ${index} the item returned is ${array1.at(index)}`);
    // Expected output: "Using an index of 2 the item returned is 8"

    index = -2;

    console.log(`Using an index of ${index} item returned is ${array1.at(index)}`);
    // Expected output: "Using an index of -2 item returned is 130"

    //결과값"Using an index of 2 the item returned is 8" > "Using an index of -2 item returned is 130"
    } 

02. 문자 메서드 : charAt()

"문자열".charAt(위치값)

메소드는 문자열에서 주어진 인덱스에 해당하는 위치에 있는 문자를 반환합니다.

  • 만약 주어진 인덱스가 문자열의 범위를 벗어나면 빈 문자열('')을 반환합니다.

{
    const str = 'hello';
    const char = str.charAt(1);
    console.log(char); // expected output: "e"
} 

03. 문자 메서드 : charCodeAt()

"문자열".charCodeAt(검색값)

메소드는 문자열에서 주어진 인덱스에 해당하는 문자의 유니코드 값을 반환합니다.

  • 만약 주어진 인덱스가 문자열의 범위를 벗어나면 NaN을 반환합니다.
  • 또한 대소문자를 구분해요 !

{
    const str = 'ABC';
    const code = str.charCodeAt(1);
    console.log(code); // expected output: 66
} 

04. 문자 메서드 : charPointAt()

"문자열".charPointAt([위치값])

메소드는 문자열에서 주어진 인덱스에 해당하는 문자의 유니코드 값을 반환합니다.

{
    const str = 'hello';
    const code = str.charCodeAt(1);
    console.log(code); // expected output: 101
} 

05. 문자 메서드 : concat()

"문자열".concat((구분자), [결합할문자값])

메소드는 호출한 문자열과 다른 문자열을 결합하여 새로운 문자열을 반환합니다.

{
    const str1 = 'Hello';
    const str2 = 'world!';
    const result = str1.concat(' ', str2);
    console.log(result); // expected output: "Hello world!"
} 

06. 문자 메서드 : includes()

"문자열".includes(검색값, [위치값])

메서드는 문자열 포함 여부를 검색하여, 불린(true, false)을 반환합니다.

  • 메서드는 문자열을 검색하여 불린(true, false)을 반환
  • 또한 대소문자를 구분해요 !

{
    console.log("javascript refercence".includes("script"));         // true
    console.log("javascript refercence".includes("j"));              // true
    console.log("javascript refercence".indexOf("a"));               // true
    console.log("javascript refercence".indexOf("refercence"));      // true
    console.log("javascript refercence".indexOf("refercence",11));   // true
    console.log("javascript refercence".indexOf("J"));               // false
} 

07. 문자 메서드 : indexOf()

"문자열".indexOf(검색값, [위치값])

  • 메서드는 문자열을 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
  • indexOf("scripts") 이렇게 넣을경우 ? ?
  • 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 -1을 반환합니다 또한 대소문자를 구분해요 !

{
    console.log("javascript refercence".indexOf("script"));         // 4
    console.log("javascript refercence".indexOf("jv"));             // -1 없는경우
    console.log("javascript refercence".indexOf("refercence"));     // 11 공백포함해서 11
    console.log("javascript refercence".indexOf("refercence",11));  // 11번째 부터 11 공백포함해서 11번째부터
    console.log("javascript refercence".indexOf("r",7));            // 7번째 부터 r의값은 공백포함 11번째에 있고 11을 반환한다
    console.log("javascript refercence".indexOf("a"));              // 1
    console.log("javascript refercence".indexOf("j"));              // 0
    console.log("javascript refercence".indexOf("J"));              // -1
    console.log("javascript refercence".indexOf("javascript",0));   // 0 뒤에있는 숫자는 해당위치 0 에서부터 찾음
} 

08. 문자 메서드 : lastIndexOf()

"문자열".lastIndexOf(검색값, [위치값])

  • 메서드는 역순으로 문자열을 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
  • 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 -1을 반환합니다
  • 또한 대소문자를 구분해요 !

{
    console.log("javascript refercence".indexOf("script"));         // 4
    console.log("javascript refercence".indexOf("jv"));             // -1 없는경우
    console.log("javascript refercence".indexOf("refercence"));     // 11 공백포함해서 11
    console.log("javascript refercence".indexOf("refercence",11));  // 11번째 부터 11 공백포함해서 11번째부터
    console.log("javascript refercence".indexOf("r",7));            // 7번째 부터 r의값은 공백포함 11번째에 있고 11을 반환한다
    console.log("javascript refercence".indexOf("a"));              // 1
    console.log("javascript refercence".indexOf("j"));              // 0
    console.log("javascript refercence".indexOf("J"));              // -1
    console.log("javascript refercence".indexOf("javascript",0));   // 0 뒤에있는 숫자는 해당위치 0 에서부터 찾음
} 

09. 문자 메서드 : localeCompare()

"문자열".localeCompare(검색값)

'localeCompare()' 메소드는 호출한 문자열과 다른 문자열을 사전순으로 비교하여, 두 문자열이 같으면 0, 호출한 문자열이 사전순으로 앞서면 음수, 사전순으로 뒤면 양수를 반환합니다.

{
    const str1 = 'apple';
    const str2 = 'banana';
    const result = str1.localeCompare(str2);
    console.log(result); // expected output: -1
} 

07. 문자 메서드 : match()

"문자열".match(검색값, [위치값])

  • 메서드는 문자열을 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
  • 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 null을 반환합니다.
  • 대소문자를 구분해요 !
  • match()메서드는 문자값(배열)을 반환하고, search()메서드는 위치값(숫자)를 반환하는 것이 다릅니다.
{
    console.log("javascript refercence".indexOf("script"));         // 4
    console.log("javascript refercence".indexOf("jv"));             // -1 없는경우
    console.log("javascript refercence".indexOf("refercence"));     // 11 공백포함해서 11
    console.log("javascript refercence".indexOf("refercence",11));  // 11번째 부터 11 공백포함해서 11번째부터
    console.log("javascript refercence".indexOf("r",7));            // 7번째 부터 r의값은 공백포함 11번째에 있고 11을 반환한다
    console.log("javascript refercence".indexOf("a"));              // 1
    console.log("javascript refercence".indexOf("j"));              // 0
    console.log("javascript refercence".indexOf("J"));              // -1
    console.log("javascript refercence".indexOf("javascript",0));   // 0 뒤에있는 숫자는 해당위치 0 에서부터 찾음
} 

12. 문자 메서드 : normalize()

"문자열".normalize(검색값)

메소드는 유니코드 정규화(Normalization)를 수행하여 문자열의 유니코드를 표준화합니다.
유니코드 정규화는 같은 의미를 가지지만 서로 다른 유니코드를 가지는 문자를 하나의 표준 유니코드로 대치하는 과정입니다. 예를 들어, 'é'와 'é'는 같은 문자지만 서로 다른 유니코드를 가지며, 'normalize()' 메소드를 사용하여 정규화하면 두 문자열 모두 같은 유니코드로 변환됩니다.

{
    const str1 = 'café';
    const str2 = 'cafe\u0301';
    console.log(str1 === str2); // expected output: false
    
    const normalizedStr1 = str1.normalize();
    const normalizedStr2 = str2.normalize();
    console.log(normalizedStr1 === normalizedStr2); // expected output: true
} 

13. 문자 메서드 : padEnd()

"문자열".padEnd(검색값)

메소드는 현재 문자열의 끝에 다른 문자열을 추가하여, 지정한 길이만큼의 길이를 갖는 문자열을 반환합니다.
이때, 추가할 문자열은 인수로 전달한 문자열이며, 기본값은 공백(' ')입니다. 'padEnd()' 메소드는 원래 문자열의 길이가 지정한 길이보다 크거나 같은 경우, 문자열 자체를 그대로 반환합니다.

{
    const str = 'hello';
    const paddedStr = str.padEnd(10);
    console.log(paddedStr); // expected output: "hello     "

    const paddedStr2 = str.padEnd(10, '-');
    console.log(paddedStr2); // expected output: "hello-----"
} 

14. 문자 메서드 : padStart()

"문자열".padStart(검색값)

메소드는 현재 문자열의 시작 부분에 다른 문자열을 추가하여, 지정한 길이만큼의 길이를 갖는 문자열을 반환합니다. 이때, 추가할 문자열은 인수로 전달한 문자열이며, 기본값은 공백(' ')입니다.
메소드는 원래 문자열의 길이가 지정한 길이보다 크거나 같은 경우, 문자열 자체를 그대로 반환합니다.

{
    const str = 'hello';
    const paddedStr = str.padEnd(10);
    console.log(paddedStr); // expected output: "hello     "

    const paddedStr2 = str.padEnd(10, '-');
    console.log(paddedStr2); // expected output: "hello-----"
} 

14. 문자 메서드 : repeat()

"문자열".repeat(검색값)

'repeat()' 메소드는 현재 문자열을 지정한 횟수만큼 반복하여 새로운 문자열을 반환합니다. 이때, 인수로 전달한 값은 0보다 큰 정수값이어야 합니다. 0 또는 음수값이 전달되면 빈 문자열을 반환합니다.
'repeat()' 메소드는 문자열에서 사용 가능한 최대 길이를 초과하는 경우, 예외를 발생시킵니다.

{
    const str = 'hello';
    const repeatedStr = str.repeat(3);
    console.log(repeatedStr); // expected output: "hellohellohello"
} 

18. 문자 메서드 : search()

"문자열".search(검색값)

"문자열".search(검색값) && "문자열".search(정규식표현)

  • 문자열(정규식)을 검색하고, 위치값(숫자)를 반환합니다.
  • 문자열을 검색하며 , 주어진 값과 일치하는것이 없으면 -1을 반환합니다.
{
    console.log("javascript refercence".match("javascript"));      // 배열[0]에 "javascript"
    console.log("javascript refercence".match("refercence"));      // 배열[0]에 "refercence"
    console.log("javascript refercence".match("r"));               // 배열[0]에 "r"
    console.log("javascript refercence".match("R"));               // null 없음
    console.log("javascript refercence".match(/refercence/));      // refercence
    console.log("javascript refercence".match(/Refercence/));      // null 없음
    console.log("javascript refercence".match(/Refercence/i));     // refercence i는 대소문자 
    console.log("javascript refercence".match(/r/g));              // [r,r,r] 반환 r은 다찾기
    console.log("javascript Refercence".match(/R/ig));             // [r,R,r] 반환
} 

18. 문자 메서드 : search()

"문자열".search(검색값)

"문자열".search(검색값) && "문자열".search(정규식표현)

  • 문자열(정규식)을 검색하고, 위치값(숫자)를 반환합니다.
  • 문자열을 검색하며 , 주어진 값과 일치하는것이 없으면 -1을 반환합니다.
{
    console.log("javascript refercence".match("javascript"));      // 배열[0]에 "javascript"
    console.log("javascript refercence".match("refercence"));      // 배열[0]에 "refercence"
    console.log("javascript refercence".match("r"));               // 배열[0]에 "r"
    console.log("javascript refercence".match("R"));               // null 없음
    console.log("javascript refercence".match(/refercence/));      // refercence
    console.log("javascript refercence".match(/Refercence/));      // null 없음
    console.log("javascript refercence".match(/Refercence/i));     // refercence i는 대소문자 
    console.log("javascript refercence".match(/r/g));              // [r,r,r] 반환 r은 다찾기
    console.log("javascript Refercence".match(/R/ig));             // [r,R,r] 반환
} 

19. slice()

배열.slice ( 시작위치 , [끝나는위치])

시작위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환해 준다

{
    let strSlice = "javascript";
    console.log(strSlice.slice());
    //javascript
    console.log(strSlice.slice(1));
    //avascript
    console.log(strSlice.slice(2));
    //vascript
    console.log(strSlice.slice(0 ,1));
    //j
    console.log(strSlice.slice(0 ,2));
    //ja
    console.log(strSlice.slice(5 ,10));
    //cript
    console.log(strSlice.slice(5 ,-1));
    //crip
    console.log(strSlice.slice(5 ,-2));
    //cri
    
    console.log(strSlice.slice(-1));
    //음수 일경우 맨뒤의 칸을 제거
    //t
    console.log(strSlice.slice(-2)); 
    //pt
} 

22. split()

배열.split ( 시작위치 , [끝나는위치])

시작위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환해 준다

{
    let strSplit = "javascript";
    console.log(strSplit.split(""));
    // ['j','a','v','a','s','c','r','i','p','t']
    console.log(strSplit.split("", 1));
    // ['j']
    console.log(strSplit.split("", 2));
    // ['j', 'a']

    strSplit = "java script";
    console.log(strSplit.split(" "));
    // ['java','script']

    strSplit = "java script";
    console.log(strSplit.split(" ",1));
    // ['java']

    strSplit = "javascript";
    console.log(strSplit.split("j"));
    // ['','avascript']
    console.log(strSplit.split("a"));
    // ['j','v','script']

    strSplit = "java/scr/ipt";
    console.log(strSplit.split("/"));
    // ['java', 'scr', 'ipt']
    strSplit = "java&scr!ipt";
    console.log(strSplit.split("&"));
    // ['java','script']
    console.log(strSplit.split(/ \& | \!/));
    // / & | ! /  or  / & | \ ! /  
    // 정규 표현식
    // ['java', 'scr' ,'ipt']
    
    strSplit = "javascript";
    console.log(strSplit.split().join());
    console.log(strSplit.split().join("*"));
    console.log(strSplit.split("").reverse().join(''));
    console.log(strSplit.split("").reverse().join('*'));
    //javascript 문자열로 출력 
    //j*a*v*a*s*c*r*i*p*t 문자열로 출력 
    //tpircsavaj
    //t*p*i*r*c*s*a*v*a*j
} 

30. trim()

문자열.trim ( )

앞뒤 공백 제거

{
    let strTrim = " javascript ";
    console.log(strTrim.trim());
    //"javascript"
} 

31. trimStart()

문자열.trimStart( )

앞 공백 제거

{
    let strTrim = " javascript ";
    console.log(strTrim.trimStart());
    //"javascript  "
} 

32. trimEnd()

배열.trimEnd( )

{
    let strTrim = " javascript ";
    console.log(strTrim.trimEnd());
    //"  javascript"
}