Number와 String의 📍 대표적인 메서드 3개에 대햐여,,
✔ Number.isNaN() 메소드
Number.isNaN() 메소드는 전달된 값이 NaN인지 아닌지를 검사합니다.
이 메소드는 전역 함수인 isNaN() 함수가 가지고 있던 숫자로의 강제 변환에 따라 발생하는 문제를 더는 겪지 않게 해줍니다.
이 메소드는 오직 📍숫자인 값에서만 동작하며, 그 값이 NaN인 경우에만 true를 반환합니다.Number.isNaN(NaN); // true Number.isNaN(0 / 0); // true // 다음은 전역 함수인 isNaN()에서 잘못된 결과를 반환하는 예제임. isNaN("NaN"); // true isNaN(undefined); // true isNaN("문자열"); // true // Number.isNaN() 메소드에서 맞는 결과를 반환하고 있음. Number.isNaN("NaN"); // false Number.isNaN(undefined); // false Number.isNaN("문자열"); // false
✔ Number.parseFloat() 메소드
Number.parseFloat() 메소드는 문자열을 파싱(parsing)하여, 문자열에 포함된 숫자 부분을 실수 형태로 반환합니다. 문자열에 여러 개의 숫자가 존재하면, 그중에서 첫 번째 숫자만을 실수 형태로 반환합니다.
Number.parseFloat("12"); // 12 Number.parseFloat("12.34"); // 12.34 Number.parseFloat("12문자열"); // 12 Number.parseFloat("12 34 56"); // 12 Number.parseFloat("문자열 56")); // NaN
✔ Number.isInteger() 메소드
Number.isInteger() 메소드는 전달된 값이 정수인지 아닌지를 검사합니다.
전달된 값이 정수이면 true를 반환하며, 정수가 아니거나 NaN, Infinity와 같은 값은 모두 false를 반환합니다.Number.isInteger(0); // true Number.isInteger(-100); // true Number.isInteger(0.1); // false Number.isInteger("문자열"); // false Number.isInteger(Infinity); // false Number.isInteger(true); // false
✔ indexOf() 메소드
문자열에서의 위치를 찾는 메소드로 String 인스턴스에서 특정 문자나 문자열이 처음으로 등장하는 위치나 마지막으로 등장하는 위치를 반환합니다.
const str = "abcDEFabc"; str.indexOf('abc'); // 0 -> 인덱스는 0부터 시작하기 때문 str.indexOf('abcd'); /* -1 -> 전달 받은 문자나 문자열 찾지 못할 땐 -1 반환하고문자열을 비교할 때 문자의 대소문자를 구분한다.*/
✔ slice() 메소드
문자열 추출해주는 메소드로 String 인스턴스에서 전달받은 시작 인덱스부터 종료 인덱스 바로 앞까지의 문자열만을 추출하여 만든 새로운 문자열을 반환합니다.
const str = "abcDEFabc"; str.slice(2, 6); // cDEF -> 인덱스 2부터 인덱스 5까지의 문자열을 추출함. str.slice(-4, -2); // Fa -> 음수로 전달된 인덱스는 문자열의 뒤에서부터 시작해 -4부터 -3까지의 인덱스 문자열 추출한다. str.slice(2); // cDEFabc -> 인수로 종료 인덱스가 전달되지 않으면 문자열의 마지막까지 추출한다.