javascript

문자열 객채 알아보기 - 1

grovy 2023. 4. 22. 23:35
728x90

at(), charAt(), charCodeAt(), charPointAt(), concat(), localeCompare(), normalize(), padEnd(), padStart(), repeat()
객체들을 알아볼게요 ! 

at()

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

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"

 

charAt()

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

예를 들어, 아래의 코드는 문자열 'hello'에서 인덱스 1에 해당하는 문자 'e'를 반환합니다.

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

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

 

charCodeAt()

메소드는 문자열에서 주어진 인덱스에 해당하는 위치에 있는 문자의 유니코드 값을 반환합니다. 반환되는 값은 0부터 65535까지의 정수입니다.

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

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

 

 

charPointAt()

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

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

 

concat()

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

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

 

localeCompare()

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

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

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

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-----"

padStart()

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

'padStart()' 메소드는 원래 문자열의 길이가 지정한 길이보다 크거나 같은 경우, 문자열 자체를 그대로 반환합니다.

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

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

repeat() 

'repeat()' 메소드는 현재 문자열을 지정한 횟수만큼 반복하여 새로운 문자열을 반환합니다. 이때, 인수로 전달한 값은 0보다 큰 정수값이어야 합니다. 0 또는 음수값이 전달되면 빈 문자열을 반환합니다.

'repeat()' 메소드는 문자열에서 사용 가능한 최대 길이를 초과하는 경우, 예외를 발생시킵니다.

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