01. at()
"문자열".at(인덱스)
- 문자열에서 지정된 인덱스에 해당하는 문자를 반환합니다.
- 이 메소드는 문자열의 charAt() 메소드와 유사하지만, 인덱스가 문자열의 범위를 벗어날 경우 undefined를 반환합니다.
{
"javascript reference".at(); //j
"javascript reference".at(0); //j
"javascript reference".at(3); //a
"javascript reference".at(11); //r
"javascript reference".at(20); //undefined
"javascript reference".at(-1); //e
"javascript reference".at(-2); //c
"javascript reference".at(-3); //n
"javascript reference".at(-100); //undefined
}
02. charAt()
"문자열".charAt(숫자)
- 문자열에서 특정 인덱스에 해당하는 문자를 반환합니다.
- 지정된 인덱스가 범위를 벗어나면, 빈 문자열을 반환합니다.
{
"javascript reference".charAt(); //j
"javascript reference".charAt(0); //j
"javascript reference".charAt(1); //a
"javascript reference".charAt(2); //v
"javascript reference".charAt(11); //r
"javascript reference".charAt(20); //빈문자열
}
03. charCodeAt()
"문자열".charCodeAt(숫자)
- 문자열에서 지정된 위치에 있는 문자의 유니코드 값을 반환합니다.
- 유니코드는 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 말합니다.
{
"javascript reference".charCodeAt(); //106
"javascript reference".charCodeAt(0); //106
"javascript reference".charCodeAt(1); //97
"javascript reference".charCodeAt(2); //118
"javascript reference".charCodeAt(3); //97
"javascript reference".charCodeAt(11); //114
"javascript reference".charCodeAt(12); //101
"javascript reference".charCodeAt(20); //NaN
"javascript reference".charCodeAt(-1); //NaN
}
자바스크립트에서 유니코드(Unicode)는 전 세계의 문자와 기호를
나타내기 위한 표준 인코딩 시스템입니다. 이는 문자열을 작성하거나
처리할 때 사용됩니다.
유니코드는 16진수 값으로 나타내어지며, 각 문자 및 기호에 대해 고유한 코드 포인트를 제공합니다. 이 코드 포인트는 U+XXXX 형식으로 표시됩니다. 여기서 XXXX는 16진수 값입니다.
자바스크립트에서는 유니코드를 지원하기 위해 '\uXXXX'와 같은 이스케이프 시퀀스를 사용하여 문자열 내에 특수 문자를 나타냅니다. 이를 통해 자바스크립트에서 다양한 언어의 문자를 표현할 수 있습니다.
유니코드는 16진수 값으로 나타내어지며, 각 문자 및 기호에 대해 고유한 코드 포인트를 제공합니다. 이 코드 포인트는 U+XXXX 형식으로 표시됩니다. 여기서 XXXX는 16진수 값입니다.
자바스크립트에서는 유니코드를 지원하기 위해 '\uXXXX'와 같은 이스케이프 시퀀스를 사용하여 문자열 내에 특수 문자를 나타냅니다. 이를 통해 자바스크립트에서 다양한 언어의 문자를 표현할 수 있습니다.
04. codePointAt()
"문자열".codePointAt(숫자)
- 문자열에서 지정된 위치에 있는 유니코드 코드 포인트 값을 반환합니다.
- charCodeAt()는 16비트 유니코드 값을 반환하는 데 반해, codePointAt()는 21비트 유니코드 코드 포인트 값을 반환합니다.
{
"javascript reference".codePointAt(); //106
"javascript reference".codePointAt(0); //106
"javascript reference".codePointAt(1); //97
"javascript reference".codePointAt(2); //118
"javascript reference".codePointAt(3); //97
"javascript reference".codePointAt(11); //114
"javascript reference".codePointAt(12); //101
"javascript reference".codePointAt(20); //undefined
"javascript reference".codePointAt(-1); //undefined
}
05. concat()
"문자열".concat("문자열")
- 문자열이나 배열을 합쳐서 새로운 문자열 또는 배열을 반환하는 메서드입니다.
- 문자열의 경우, concat() 메서드는 호출된 문자열에 인수로 전달된 문자열을 덧붙인 새로운 문자열을 반환합니다.
- 배열의 경우, concat() 메서드는 호출된 배열에 인수로 전달된 배열을 덧붙인 새로운 배열을 반환합니다.
{
const str = "javascript";
str.concat("reference"); //javascriptreference
str.concat(" ","reference"); //javascript reference
str.concat("& ","reference"); //javascript& reference
str.concat("❣️", "reference") //javascript❣️reference
const arr = ["javascript", "reference"];
arr.concat("react") // ['javascript', 'reference', 'react']
arr.concat(" ", "react") // ['javascript', 'reference', ' ', 'react']
arr.concat("&", ["react", "jquery"]) // ['javascript', 'reference', '&', 'react', 'jquery']
}
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 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(검색값, [위치값])
- 문자열을 역순으로 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
- 문자열을 역순으로 검색하여, 주어진 값과 일치하는 것이 없으면 -1을 반환합니다.
- 대소문자를 구별합니다.
{
"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("문자열")
- 두 개의 문자열을 비교하고, 첫 번째 문자열이 두 번째 문자열보다 정렬 순서상 앞에 오는 경우 음수를 반환하며, 두 번째 문자열이 첫 번째 문자열보다 앞에 오는 경우 양수를 반환합니다.
{
const str1 = "apple";
const str2 = "banana";
const str3 = "cat";
const str4= "diary";
const str5= "apple";
console.log(str2.localeCompare(str1)); // 1
console.log(str3.localeCompare(str1)); // 1
console.log(str4.localeCompare(str3)); // 1
console.log(str1.localeCompare(str2)); // -1
console.log(str1.localeCompare(str5)); // 0
}
10. match()
"문자열".match(검색값)
"문자열".match(정규식표현)
"문자열".match(정규식표현)
- 문자열(정규식)을 검색하고, 문자열(배열)을 반환합니다.
- 문자열을 검색하여, 주어진 값과 일치하는 것이 없으면 null을 반환합니다.
- 대소문자를 구별합니다.
- match() 메서드는 문자값(배열)을 반환하고, search() 메서드는 위치값(숫자)를 반환하는 것이 다릅니다.
{
"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
"javascript reference".match(/Reference/g); //null
"javascript reference".match(/r/); //r
"javascript reference".match(/r/g); //r r r
"javascript reference".match(/w/g); //null
"javascript reference".match(/R/ig); //r r r
}
12. normalize()
"문자열(유니코드 문자열)".normalize("정규화 방식")
- 유니코드 문자열 정규화를 수행합니다.
- 문자열을 인자로 받아서, 유니코드의 특정 문자들을 같은 문자로 치환하여 문자열을 표준화(normalize)합니다.
{
console.log("webstoryboy".normalize("NFC")) //webstoryboy
console.log("webstoryboy".normalize("NFD")) //webstoryboy
console.log("webstoryboy".normalize("NFKC")) //webstoryboy
console.log("webstoryboy".normalize("NFKD")) //webstoryboy
}
NFC: 정규형 정준 결합(Normalization Form Canonical Composition)
NFD : 정규형 정준 분해(Normalization Form Canonical Decomposition)
NFKC : 정규형 호환성 결합(Normalization Form Compatibility Composition)
NFKD : 정규현 호환성 분해(Normalization Form Compatibility Decomposition)
NFD : 정규형 정준 분해(Normalization Form Canonical Decomposition)
NFKC : 정규형 호환성 결합(Normalization Form Compatibility Composition)
NFKD : 정규현 호환성 분해(Normalization Form Compatibility Decomposition)
유니코드 문자열(Unicode string)은 유니코드 문자 집합을 기반으로
구성된 문자열입니다. 유니코드는 전 세계의 모든 문자를 표현하기
위한 국제 표준 문자 코드 규약입니다. 이 규약은 ASCII 문자 집합으로
표현되는 문자 이외에도, 중국어, 한국어, 일본어 등의 문자를 비롯한
수천 가지의 문자를 포함하고 있습니다.
13. padEnd()
"문자열".padEnd(문자열의 길이, [매개변수])
- 문자열을 지정된 길이만큼 다른 문자열로 채워 넣는 역할을 합니다.
- 두 개의 매개 변수를 사용합니다. 첫 번째 매개 변수는 원하는 전체 길이이고, 두 번째 매개 변수는 문자열을 채울 다른 문자열입니다.
- 첫 번째 매개 변수보다 원래 문자열의 길이가 더 작은 경우 두 번째 매개 변수의 문자열이 추가됩니다.
{
"javascript reference".padEnd(20); //javascript reference
"javascript reference".padEnd(21, '-'); //javascript reference-
"javascript reference".padEnd(25, '✨'); //javascript reference✨✨✨✨✨
"javascript reference".padEnd(30, '@'); //javascript reference@@@@@@@@@@
"javascript reference".padEnd(26, " react"); //javascript reference react
}
14. padStart()
"문자열".padStart(문자열의 길이, [매개변수])
- 문자열의 시작 부분에 다른 문자열을 추가하여 지정된 길이에 도달하도록 만듭니다.
- 첫 번째 매개 변수는 전체 길이이고, 두 번째 매개 변수는 채울 다른 문자열입니다.
- 첫 번째 매개 변수보다 원래 문자열의 길이가 더 작은 경우, 두 번째 매개 변수의 문자열이 시작 부분에 추가됩니다.
{
"javascript reference".padStart(20); //javascript reference
"javascript reference".padStart(21, '-'); //-javascript reference
"javascript reference".padStart(25, '✨'); //✨✨✨✨✨javascript reference
"javascript reference".padStart(30, '@'); //@@@@@@@@@@javascript reference
"javascript reference".padStart(26, " react"); //reactjavascript reference
}
15. repeat()
"문자열".repeat(반복할 횟수)
- 문자열을 지정된 횟수만큼 반복하여 새로운 문자열을 반환합니다.
- 매개 변수는 반복 횟수를 나타내는 양의 정수입니다. 0 또는 음수가 매개 변수로 전달되면 빈 문자열을 반환합니다.
{
"JAVASCRIPT".repeat(3); //JAVASCRIPTJAVASCRIPTJAVASCRIPT
"CSS".repeat(2); //CSSCSS
"HTML ".repeat(3); //HTML HTML HTML
"REACT".repeat(2); //REACTREACT
}
18. search()
"문자열".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
}
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']
"javascript".split("", 1); //['j']
"javascript".split("", 2); //['j','a']
"javascript".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']
"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
"javascript".split("").reverse().join("/") //t/p/i/r/c/s/a/v/a/j
}
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
}