버튼을 클릭하면 명언이 나와요
-이름이 나와요
1.at()
- at() 메서드는 정수 값을 받아, 배열에서 해당 값에 해당하는 인덱스의 요소를 반환합니다. 양수와 음수 모두 지정할 수 있고, 음수 값의 경우 배열의 뒤에서부터 인덱스를 셉니다.
- at() 메서드의 존재가 대괄호 표기법을 부정하는 것은 아닙니다. 예를 들어 array[0]은 문제 없이 배열의 첫 요소를 반환합니다. 그러나 맨 마지막 요소를 가져오고 싶을 때 length 속성을 사용해 array[array.length - 1]을 하는 대신, 짧게 array.at(-1)을 사용할 수 있습니다.
- 배열에서 반환할 요소의 인덱스(위치). 음수 값을 지정할 경우 배열의 마지막을 기준으로 한 인덱스입니다. 즉, 배열 앞 대신 끝에서부터 위치를 계산합니다.
- 주어진 인덱스에 위치한 배열 요소. 주어진 인덱스가 배열에 없으면 undefined를 반환합니다.
//Array로 보면 0번지부터 시작합니다.(0,1,2,3,4)
//Array.at()으로 보면 "마이너스"부터 시작합니다.(-5,-4,-3,-2,-1)
const array1 = [5, 12, 8, 130, 44];
let index = 2;
console.log(`Using an index of ${index} the item returned is ${array1.at(index)}`);
index = -2;
console.log(`Using an index of ${index} item returned is ${array1.at(index)}`);
결과: > "Using an index of 2 the item returned is 8"
> "Using an index of -2 item returned is 130"
2.charAt()
- charAt() 함수는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환합니다.
- 문자열 내의 문자는 왼쪽에서 오른쪽으로 순번(인덱스)이 매겨집니다. 첫 번째 문자의 순번은 0, 그리고 stringName 이라는 이름을 가진 문자열의 마지막 문자 순번은 stringName.length - 1 입니다. index가 문자열 길이를 벗어나면 빈 문자열을 반환하게 됩니다.
- index를 제공하지 않으면 기본값은 0입니다.
var anyString = 'Brave new world';
console.log("The character at index 0 is '" + anyString.charAt() + "'");
console.log("The character at index 0 is '" + anyString.charAt(0) + "'");
console.log("The character at index 1 is '" + anyString.charAt(1) + "'");
console.log("The character at index 2 is '" + anyString.charAt(2) + "'");
console.log("The character at index 3 is '" + anyString.charAt(3) + "'");
console.log("The character at index 4 is '" + anyString.charAt(4) + "'");
console.log("The character at index 999 is '" + anyString.charAt(999) + "'");
결과 : The character at index 0 is 'B'
The character at index 0 is 'B'
The character at index 1 is 'r'
The character at index 2 is 'a'
The character at index 3 is 'v'
The character at index 4 is 'e'
The character at index 999 is ' '
3.charCodeAt()
- 주어진 인덱스에 대한 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 반환합니다.
- 주어진 인덱스 대한 문자에 대한 UTF-16 코드를 나타내는 숫자 범위 밖으로 넘어갔을 경우 NaN을 반환 함.
const sentence = 'The quick brown fox jumps over the lazy dog.';
const index = 4;
console.log(`The character code ${sentence.charCodeAt(index)} is equal to ${sentence.charAt(index)}`);
결과: > "The character code 113 is equal to q"
4.charPointAt()
- charPointAt()은 인덱스에 위치한 문자의 UTF-16 코드를 반환합니다. (0 ~ 65535)
- 인덱스에 위치한 문자의 UTF-16 코드를 반환합니다
- 유니코드 코드 포인트 값인 음이 아닌 정수를 반환합니다.
- 사파리, 익스플로러에서는 지원하지 않습니다.
- codePointAt()은 0과 똑같습니다.
- codePointAt(1)은 문자열 1번째를 의미합니다.
- codePointAt(2)은 문자열 2번째를 의미합니다.
- 범위 밖으로 넘어갔을 경우 undefind를 반환합니다.
'★'.codePointAt(0); // 9733
'★'.codePointAt(1); // undefind
"숙제".codePointAt(); // 49689
"몰라".codePointAt(); //47792
5.concat()
- 인자로 주어진 배열이나 값들을 기존 배열에 합쳐서 새 배열을 반환합니다.
- 기존배열을 변경하지 않습니다.
- 추가된 새로운 배열을 반환합니다.
- 배열 뒤에 각 인수를 순서대로 붙여 새로운 배열을 만듭니다. 인수가 배열이면 그 구성요소가 순서대로 붙고, 배열이 아니면 인수 자체가 붙습니다. 중첩 배열 내부로 재귀하지 않습니다.
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
console.log(array3);
답: > Array ["a", "b", "c", "d", "e", "f"]
const alpha = ['a', 'b', 'c'];
alpha.concat(1, [2, 3]);
답: ['a', 'b', 'c', 1, 2, 3]
6.localeCompare()
- 참조 문자열이 정렬 순으로 지정된 문자열 앞 혹은 뒤에 오는지 또는 동일한 문자열인지 나타내는 수치를 반환합니다.
- 반환값은 1, -1, 0만 리턴합니다.
- 1을 리턴하는 경우는 오른쪽에 있는 문자열이 왼쪽보다 알파벳 순서가 빠릅니다.
- -1을 리턴하는 경우는 왼쪽에 있는 문자열이 오른쪽보다 알파벳 순서가 빠릅니다.
- 0을 리턴하는 경우는 두개의 문자열이 똑같습니다.
- sensitivity가 "base"이면 대소문자를 구분하지 않는다는 뜻입니다.
let string1 = 'myCoding'
let string2 = 'coding'
console.log(string1.localeCompare(string2)) // 1
console.log(string2.localeCompare(string1)) // -1
console.log(string2.localeCompare(string1, 'en', { sensitivity: 'base' })) // -1
답: 1, -1, -1
^~^ 어렵네요..
7.normalize()
- 문자열을 유니코드 정규화 방식(Unicode Normalization Form)에 따라 정규화된 형태로 반환합니다. 만약 주어진 값이 문자열이 아닐 경우에는 우선 문자열로 변환 후 정규화합니다.
let str = "Å";
str.normalize(); // "A\\u030a"
출력 : A//u030a
찾아봐도 안나오네요.챗GPT의 힘을 빌리겠습니다.
- 문자열의 정규화는 문자열의 유니코드 표현을 표준화하여 문자열을 비교, 검색, 정렬 등의 작업에서 일관성을 확보하기 위해 사용됩니다.
str.normalize([form])
form은 선택적 매개변수로, 정규화 방식을 지정합니다. 이 값은 다음과 같은 문자열 중 하나를 사용할 수 있습니다:
- 'NFC': 문자열을 정준 분해(Normalization Form C) 방식으로 정규화합니다. 이는 유니코드 문자열을 가장 기본적인 형태로 표현합니다.
- 'NFD': 문자열을 정준 합성(Normalization Form D) 방식으로 정규화합니다. 이는 유니코드 문자열을 기본 형태의 문자와 결합하는 형태로 표현합니다.
- 'NFKC': 문자열을 호환 분해(Normalization Form KC) 방식으로 정규화합니다. 이는 호환 문자들을 기본 문자들로 변환합니다.
- 'NFKD': 문자열을 호환 합성(Normalization Form KD) 방식으로 정규화합니다. 이는 호환 문자들을 기본 형태의 문자와 결합하는 형태로 표현합니다.
const str1 = 'Cafe\u0301'; // 'é'를 'e'와 결합한 형태
console.log(str1); // 'Café'
const str2 = str1.normalize('NFC'); // NFC로 정규화
console.log(str2); // 'Café'
const str3 = str1.normalize('NFD'); // NFD로 정규화
console.log(str3); // 'Café'
console.log(str2 === str3); // false, 정규화된 문자열들이 서로 다름
8.padEnd()
- 현재 문자열에 다른 문자열을 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다. 채워넣기는 대상 문자열의 끝(우측)부터 적용됩니다.
const str1 = 'Breaded Mushrooms';
console.log(str1.padEnd(25, '.'));
const str2 = '200';
console.log(str2.padEnd(5));
답: Breaded Mushrooms........
200
- 목표 문자열 길이. 현재 문자열의 길이보다 작다면 채워넣지 않고 그대로 반환.
- 현재 문자열에 채워넣을 다른 문자열. 문자열이 너무 길어 목표 문자열 길이를 초과한다면 좌측 일부를 잘라서 넣음. 기본값은 " ".
- 끝부터 주어진 문자열로 채워 목표 길이를 만족하는 String
'abc'.padEnd(10); // "abc "
'abc'.padEnd(10, "foo"); // "abcfoofoof"
'abc'.padEnd(6, "123456"); // "abc123"
'abc'.padEnd(1); // "abc"
결과: abc
abcfoofoof
abc123
abc
9.padStart()
- 현재 문자열의 시작을 다른 문자열로 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다. 채워넣기는 대상 문자열의 시작(좌측)부터 적용됩니다.
const str1 = '5';
console.log(str1.padStart(2, '0'));
const fullNumber = '2034399002125581';
const last4Digits = fullNumber.slice(-4);
const maskedNumber = last4Digits.padStart(fullNumber.length, '*');
console.log(maskedNumber);
결과: 05
************5581
- 목표 문자열 길이. 현재 문자열의 길이보다 작다면 채워넣지 않고 그대로 반환.
- 현재 문자열에 채워넣을 다른 문자열. 문자열이 너무 길어 목표 문자열 길이를 초과한다면 좌측 일부를 잘라서 넣음. 기본값은 " ".
'abc'.padStart(10); // " abc"
'abc'.padStart(10, "foo"); // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0"); // "00000abc"
'abc'.padStart(1); // "abc"
10.repeat()
- 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다
- 사용방법 : string.repeat( [반복 count] )
let number = "1234";
let result = number.repeat(4);
//1234123412341234
console.log(result);
let Array = ["A","B","C","D","E"];
for(let i=0; i<Array.length; i++){
console.log(Array[i].repeat(i+1);
}
//0 - 1 : A
//1 - 2 : BB
//2 - 3 : CCC
//3 - 4 : DDDD
//4 - 5 : EEEEE
결과: 1234123412341234 -- 1234가 총 4개 출력됨
A / BB / CCC / DDDD / EEEEE

학원에서 위에 10개 메서드를 조사 해오라는거는 사용하겠다는 의미겠죠?
1주 전이라도 알려주고 사용하면 좋겠네요.
저걸 1일만에 외워서 쓴다라...
(40문제 아직 A4용지에 깜지 쓰지도 않았는데.)
