다양한 메소드 알아보기

hyo·2021년 11월 19일
0

[Javascript] 기초 학습

목록 보기
27/62
post-thumbnail

Number 객체의 메소드

toFixed()

Number 객체에서 자주 사용하는 메소드 toFixed() 이다
소수점 이하 몇 자리까지만 출력하고 싶을 때 사용한다.

소수점을 가진 숫자.toFixed(나타낼 소수점자리수)

출력된 자료형의 타입은 'string' 이다


- isNaN() , isFinite() -

isNaN()

NaN(Not a Number) ->
자료형은 숫자인데 값이 숫자가 아닌것

어떤 숫자가 NaN(Not a Number)인지 또는 infinity(무한)인지 확인할 때는 ->

Number.isNaN()

Number.isFinite()

메소드를 사용한다.
이 메소드들은 숫자 자료 뒤에 온점을 찍고 사용하는 것이 아니라 Number 뒤에 점을 찍고 사용한다.
근데 Number생략 해도됨

우선 isNaN() 을 알아본다.

위 같이 NaN과 비교해서는 NaN인지 확인할 수 없다.
그래서 NaN인지 확인할 때는 isNaN() 메소드를 써준다.

> const a = Number('ab')
undefined

> a
NaN

> a === NaN
false

> Number.isNaN(a)
true

콘솔창에 출력해보며 더 알아보자.

Number.isNaN()을 써도되고 Number를 생략하고 isNaN()을 써도된다.

이번엔
prompt() , alert() 메소드를 사용하여 코드를 써보았다.

prompt()에서 나온 출력값의 자료형 타입은 'string'이기때문에
위 코드에서
Number(a)를 해주면 자료형 변환이 되던 NaN이 나오든 한다.


isFinite()

isNaN()이랑 표기법은 비슷하다.

Number.isFinite()

10 / 0 은 Infinity로 나온다.

Infinity는 무한대 숫자를 의미한다.
자바스크립트가 내부적으로 표현할 수 없을만큼 큰 숫자를 Infinity라고 표현한다.

isFinite() 는 말그대로 유한한가? 라는 뜻이기때문에
유한한 숫자인지 확인하는 메소드이다.

코드로 알아보자.

무한대 숫자는 양의 무한대 음의 무한대 숫자로 나뉜다.
isFinite()메소드가 false인 경우는 양의 무한대 숫자와 음의 무한대 숫자 2가지 경우이다.

그리고 Infinity와 직접 비교해봐도 확인할 수 있다.

> a === Infinity
true

> b === -Infinity
true

String 객체의 메소드

trim()

소셜 네트워크 서비스(페북,카톡,트위터 등)를 사용하다 보면 문자열 앞뒤에 공백을 넣고 댓글을 입력하거나 메시지를 보냈는데, 앞뒤 공백이 사라진 상태로 전송된 경험이 있을것이다.

사용자의 실수 또는 악의적인 목적으로 문자열 앞뒤에 공백이 추가되는 경우가 많으므로 이런 것들을 미리 제거하는 것이다.
이러한 기능을 trim 이라고 부른다.

문자열의 trim() 메소드를 사용하면 문자열 앞뒤 공백(띄어쓰기, 줄바꿈 등)을 제거할 수 있다.

split()

split()은 문자열을 특정 기호로 자르고 배열로 만들때 쓴다.
문자열을 매개변수(다른문자열)로 잘라서 배열을 만들어 리턴하는 메소드이다.

문자열.split(특정기호)


Math 객체의 속성과 메소드

콘솔창에 Math 만 입력해도 Math의 속성 즉 메소드들을 볼 수 있다.

Math.floor(), Math.ceil(), Math.round()

Math.floor() -> 소수점 내림
Math.ceil() -> 소수점 올림
Math.round() -> 소수점 반올림


Math.max() , Math.min()

Math.max() -> 매개변수 중 가장 큰 숫자
Math.min() -> 매개변수 중 가장 작은 숫자

매개변수로 배열을 넣을 경우
NaN이 나오므로 꼭
배열 전개연산자(...) 사용!


Math.random()

Math.random() 메소드는 랜덤한 숫자를 생성할 때 사용한다.
Math.random() 메소드는 0이상 1미만 0 <= 랜덤한숫자 < 1 를 생성한다.

// 1이상 20미만의 랜덤한 정수를 생성하고 싶다면
Math.random() * 20
// 1이상 20미만의 랜덤한 정수인데 소수점내림한 숫자를 생성하고 싶다면
Math.floor(Math.random() * 20)

랜덤한 음의 정수도 구할수 있다.


profile
개발 재밌다

0개의 댓글