오늘도 어김없이 새로 마주치게 되는 새로운 메서드들.
몇 개는 본 적이 있고 몇 개는 처음 보는 메서드이지만 확실하게 복습할 겸, 머릿속에 넣어두기 위해 정리하려고 한다.
tofixed()
: Number 인스턴스의 소수 부분 자릿수를 전달받은 값으로 고정한 후 그 값을 문자열로 반환합니다.
특강을 듣다 우연찮게 발견한 친구이다.
특강 중 소수를 정수로 변환하는 작업을 하는 과정을 누군가가 tofixed로 해결했다.
(나도 나중에 써먹어야지..)
// 기본적인 사용 방법
numObj.toString([소수 자릿수]);
let numbers = 1.2345;
numbers.toString(); // 1
numbers.toString(1); // 1.2
numbers.toString(2); // 1.23
numbers.toString(3); // 1.234
numbers.toString(4); // 1.2345
numbers.toString(5); // 1.23450
매개 변수
: 1~100까지의 값을 사용할 수 있다.
반환값
: 숫자를 고정 소수점 표기법으로 표기해 반환한다. 소수점 이하가 길면 숫자를 반올림하고, 짧아서 부족한 경우에는 뒤를 0으로 채워준다.
toString()
: 모든 객체에는 객체가 텍스트 값으로 표시되거나 객체가 문자열이 예상되는 방식으로 참조될 때, 자동으로 호출되는 toString()메서드가 있다.
기본적으로, toString 메서드는 Object를 비롯한 모든 객체에 상속된다.
이 메서드가 사용자 지정 객체에서 재정의되지 않으면 toString은 "[Object type]"을 반환한다.
var o = new Object();
o.toString(); // returns [object Object]
toString의 큰 특징은 "기수"를 이용함으로써 10진수를 다른 진수로 변환할 수 있다는 것이다.
예를 들어 아래와 같이 10진수를 2진수로 변환할 수도 있다.
(이 때, 기수의 값은 2 이상 36 이하의 값이다.)
let baseTenInt = 10;
console.log(baseTenInt.toString(2));
// "1010"이 출력됩니다
padStart, padEnd
첫 팀프로젝트를 할 때 한번 만났던 친구다.
시계를 만들면서 시간이 10시 미만일 때 시간앞에 0을 붙여주는 용도로 사용했었다.
이번에는 2진수를 이용하는 알고리즘 문제를 보게되어 다시 한 번 사용하게 되었다.
기본적인 사용법은 다음과 같다.
String.prototype.padStart(maxLength, ?fillString);
String.prototype.padEnd(maxLength, ?fillString);
pad는 좌우에 특정한 문자열을 채우는 것이다.
maxLength를 파라미터로 받아 문자열의 길이가 maxLength보다 작을경우
문자열의 길이만큼 fillString을 채워주는 것이다.
이 때, padStart는 문자열의 앞쪽에 fillString을 채워주게 되며, padEnd는 문자열의 뒤쪽에 fillString을 채워주게 된다.
만일 두번째 파라미터에 값을 넘겨주지 않는다면 공백으로 빈칸을 채우게 된다.
repeat
: repeat 메서드는 문자열을 주어진 횟수 만큼 반복해 붙인 새로운 문자열을 리턴해준다.
문자열을 일정 횟수 만큼 반복해서 리턴해주는데 매번 반복문을 통해 리턴해주다보니 복잡했었다.
때문에 문자를 일정 횟수만큼 반복해서 더해주는 메서드를 찾아보았고 이 메서드를 알게 되었다.
// 기본적인 사용법
str.repeat(count);
"abc".repeat(-1); // RangeError
"abc".repeat(0); // ''
"abc".repeat(1); // 'abc'
"abc".repeat(2); // 'abcabc'
"abc".repeat(3.5); // 'abcabcabc' (count will be converted to integer)
"abc".repeat(1 / 0); // RangeError
charAt
: 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환하는 메서드이다.
파라미터로 0과 '문자열의 길이-1' 사이의 값을 넣을 수 있으며,
만약 인덱스가 문자열의 길이보다 크다면 빈문자열("")을 반환한다.
str.charAt(index);
indexOf, subString 과 비슷한 역할을 수행한다고 볼 수 있는데 각각의 상황에 맞춰 사용하면 될 듯 하다.
str.charAt(idx) : 문자열에서 파라미터로 받은 인덱스에 있는 문자열을 리턴.
str.indexOf() : 파라미터로 받은 문자가 몇 번 째에 있는지 인덱스를 리턴.
str.subString(a,b) : str의 a번째 인덱스부터 b번째 인덱스에 있는 값을 리턴.
'TIL' 카테고리의 다른 글
2023_10_19 TIL (1) | 2023.10.23 |
---|---|
2023_10_18 TIL (1) | 2023.10.23 |
2023_10_16 TIL (2) | 2023.10.18 |
2023_10_13 TIL (1) | 2023.10.15 |
2023_10_11 TIL (0) | 2023.10.11 |