728x90
반응형
at()
사용법:"문자열".at(위치값)
- 배열과 문자열에서 사용가능 하지만 주로 배열에서 사용 합니다.
- 배열(Array) 객체의 메서드 중 하나로, 특정 인덱스(index)에 해당하는 요소(element)를 반환합니다.
- 배열의 인덱스가 유효하지 않을 경우 undefined를 반환하며, 배열의 범위를 초과하는 인덱스를 사용하려고 하면 RangeError를 발생시킵니다.
{
"javascript refercence".at(0); //"j"
"javascript refercence".at(1); //"a"
"javascript refercence".at(10); //" "
"javascript refercence".at(-1); //"e"
"javascript refercence".at(-12); //"t"
"javascript refercence".at(30); //undefined
}
charAt
사용법: "문자열".charAt(위치값)
- 문자열(String) 객체의 메서드 중 하나로, 특정 인덱스(index)에 해당하는 문자(character)를 반환합니다.
- 주어진 인덱스의 문자를 반환합니다. 인덱스가 유효하지 않은 경우, 즉 문자열의 길이를 벗어나는 인덱스를 사용하는 경우, 빈 문자열('')을 반환합니다.
{
"javascript refercence".charAt(0); //"j"
"javascript refercence".charAt(1); //"a"
"javascript refercence".charAt(10); //" "
"javascript refercence".charAt(-1); //"" //-를 붙이면 빈문자열이나옴
"javascript refercence".charAt(-12); //""
"javascript refercence".charAt(30); //""
}
charCodeAt()
사용법: "문자열".charCodeAt(위치값)
- 특정 인덱스(index)에 해당하는 문자(character)의 코드 유닛값(Unicode code point)을 반환합니다.
- 코드 유닛값(Unicode code point)이란 프로그램에서 문자를 인식하기 위한 유니코드(Unicode) 인코딩 방식 중 하나입니다.
- 인덱스가 문자열의 범위를 벗어나는 경우 NaN을 반환합니다
{
"javascript refercence".charCodeAt(0); //106
"javascript refercence".charCodeAt(1); //97
"javascript refercence".charCodeAt(10); //32
"javascript refercence".charCodeAt(-1); //NaN //-를 붙이면 NaN이나옴
"javascript refercence".charCodeAt(-12); //NaN
"javascript refercence".charCodeAt(30); //NaN
}
codePointAt()
사용법: "문자열".codePointAt(위치값)
- 특정 위치(index)에 있는 문자(character)의 코드 포인트(code point)를 반환합니다.
- 코드 포인트란 유니코드(Unicode)에서 문자를 나타내기 위해 할당된 고유한 값을 의미합니다. 이 값은 UTF-16에서 2바이트 이상의 문자를 표현할 때에는 여러 개의 유니코드 코드 포인트를 결합하여 만들어집니다.
- 인덱스가 문자열의 범위를 벗어나는 경우 undefined 을 반환합니다
{
"javascript refercence".codePointAt(0); //106
"javascript refercence".codePointAt(1); //97
"javascript refercence".codePointAt(10); //32
"javascript refercence".codePointAt(-1); //undefined //-를 붙이면 undefined가나옴
"javascript refercence".codePointAt(-12); //undefined
"javascript refercence".codePointAt(30); //undefined
}
concat()
사용법: 배열1.concat(배열2)
- 두 개 이상의 배열을 연결(concatenate)하여 새로운 배열을 만듭니다.
- 기존의 배열에 새로운 요소를 추가하는 push() 메서드와는 달리, 두 개 이상의 배열을 연결하여 하나의 배열로 만드는 것이 목적입니다. 이 메서드는 인자로 전달한 배열들을 연결하여 새로운 배열을 반환하며, 원본 배열은 변경되지 않습니다.
{
const arr1 = ["javascript"];
const arr2 = ["refercence"];
const arr3 = arr1.concat(arr2);
console.log(arr3); //['javascript', 'refercence']
const arr1 = [1,2,3];
const arr2 = [1,2,3,4];
const arr3 = arr1.concat(arr2);
console.log(arr3); //[1, 2, 3, 1, 2, 3, 4]
const arr1 = [1,2,3];
const arr2 = ["javascript"];
const arr3 = arr1.concat(arr2);
console.log(arr3); //[1, 2, 3, 'javascript']
}
localeCompare()
사용법: "문자열1".localeCompare("문자열2")
- 두 개의 문자열을 비교하여 현재 로캘(locale)에서의 정렬 순서를 기준으로 결과를 반환합니다.
- 인자로 전달된 문자열과 메서드를 호출한 문자열을 비교합니다. 이때, 비교는 현재 로캘에서의 문자열 정렬 순서를 기준으로 수행됩니다. 즉, 로캘에 따라 문자열의 정렬 순서가 달라질 수 있습니다.
- 만약 두 문자열이 동일하다면, 0을 반환합니다.
- 메서드를 호출한 문자열이 인자로 전달된 문자열보다 로캘에서 앞선다면, 음수를 반환합니다.
- 메서드를 호출한 문자열이 인자로 전달된 문자열보다 로캘에서 뒤에 있다면, 양수를 반환합니다.
{
const str1 = "javascript";
const str2 = "refercence";
const str3 = str1.localeCompare(str2);
console.log(str3); //-1
const str1 = "javascript";
const str2 = "refercence";
console.log(str2.localeCompare(str1)); //1
const str1 = "javascript";
const str2 = "refercence";
const str3 = str1.localeCompare(str1);
console.log(str3); //0
console.log("javascript".localeCompare("refercence")); //-1
console.log("refercence".localeCompare("javascript")); //1
console.log("javascript".localeCompare("javascript")); //0
}
normalize()
사용법: "문자열1"normalize() === "문자열2".normalize()
"문자열"normalize(Unicode 정규화 방식)
- 문자열에서 발생하는 Unicode 정규화 문제를 해결하기 위해 사용됩니다.
- Unicode는 문자를 표현하는 표준 방식이지만, 문자를 표현하는 방법이 여러 가지로 나뉘어져 있습니다. 이러한 다양한 표현 방식으로 인해 문자열 비교, 검색, 정렬 등의 작업이 원하는 결과를 내지 못할 수 있습니다. 이때, normalize() 메서드를 사용하여 문자열을 표준화하여 사용할 수 있습니다.
- "ä"와 "ä"는 눈으로 보면 같은 문자이지만, Unicode에서는 다른 문자입니다. "ä"와 "ä"가 포함된 문자열을 "NFC" 방식으로 정규화하면, 두 문자열이 동일한 값으로 정규화됩니다.
- Unicode 정규화 방식을 나타내는 4가지 값을 사용할 수 있습니다.
""NFC": Canonical Decomposition followed by Canonical Composition
"NFD": Canonical Decomposition
"NFKC": Compatibility Decomposition followed by Canonical Composition
"NFKD": Compatibility Decomposition
{
const str1 = "cafe\u0301";
const str2 = "caf\u00e9";
console.log(str1 === str2); // false
console.log(str1.normalize() === str2.normalize()); // true
const str = "안녕하세요";
const strDecomposed = str.normalize("NFD");
const strComposed = str.normalize("NFC");
console.log(strDecomposed); // "안녕하세요"
console.log(strComposed); // "안녕하세요"
console.log(strDecomposed === strComposed); // false
}
padEnd()
사용법: "문자열".padEnd(새로운문자열길이설정,"끝부분에 추가 할 문자열")
- 메서드는 문자열의 끝에 다른 문자열을 추가하여 지정한 길이만큼의 새로운 문자열을 생성합니다.
- 만약 추가할 문자열의 길이가 지정한 길이에 도달하면 추가하지 않습니다.
- 주로 출력할 문자열의 길이를 일정하게 유지해야 할 때 사용합니다.
{
const str = "javascript";
console.log(str.padEnd(21, " refercence")); // "javascript refercence"
console.log(str.padEnd(15, " refercence")); // "javascript refe"
console.log(str.padEnd(5, ".")); // "javascript"
console.log(str.padEnd(15)); // "javascript "
console.log(str.padEnd(15, ".")); // "javascript....."
}
padStart()
사용법: "문자열".padEnd(새로운문자열길이설정,"시작부분에 추가 할 문자열")
- 문자열의 시작 부분에 다른 문자열을 추가하여 지정한 길이만큼의 새로운 문자열을 생성합니다.
- 만약 추가할 문자열의 길이가 지정한 길이에 도달하면 추가하지 않습니다.
- 주로 출력할 문자열의 길이를 일정하게 유지해야 할 때 사용합니다.
{
const str = "javascript";
console.log(str.padStart(21, " refercence")); // " refercencejavascript"
console.log(str.padStart(15, " refercence")); // " refejavascript"
console.log(str.padStart(5, ".")); // "javascript"
console.log(str.padStart(15)); // " javascript"
console.log(str.padStart(15, ".")); // ".....javascript"
}
repeat()
사용법: "문자열".repeat(반복횟수)
- 문자열을 지정한 횟수만큼 반복하여 새로운 문자열을 반환합니다.
- 양의 정수입니다. 0과 음수는 RangeError 예외를 발생시킵니다.
- 0으로 설정하면 빈 문자열 ""이 생성됩니다.
{
const str = "javascript";
console.log(str.repeat(3)); // "javascriptjavascriptjavascript"
console.log(str.repeat(0)); // ""
console.log(str.repeat(-1)); // RangeError
}