This is what I learned today:
객체 자료형 이름.prototype.메소드 이름 = function () {
} // 객체 자료형 이름 = Number , String, Boolean
[example]
> Number.prototype.sample = 10 // Number.prototype에 sample이라는 속성 추가하면
10
> const i = 273
undefined
> i.sample //sample 속성을 갖고 있음
10
몇가지 예를 살펴보자면,
최신 자바스크립트에는 제곱 연산자(**)가 있다. 이를 사용하면 아래와 같이 숫자를 n제곱할 수 있다
이를 활용해 숫자 자료형에 n제곱하는 메소드를 추가해보자면,
코드에서 this.valueOf()로 숫자 값을 꺼냈다.그냥 this ** n 을 해도 아무 문제없이 계산된다.
하지만 객체 내부에서 값을 꺼내 쓰는 것임을 명확하게 하기 위해서는 valueOf() 메소드를 사용하는 것이 일반적이다.
이렇게 프로토타입에 메소드를 추가하면 이를 활용해서 숫자를 제곱할 수 있다.
함수를 생성 할 때 기본 매개변수도 사용했다.
여기서 기본 매개변수란 ->function (n=2) -> n = 2 === let n = 2 같은 말이다.
[example]
indexOf()
메소드를 사용한다.자바스크립트에는 어떠한 문자열 내부에 어떠한 문자열이 포함되어 있는지를 알수 있는 메소드가 따로 없다. 그래서 어떠한 문자열 내부에 어떠한 문자열이 포함되어 있는지를 알수있는 방법은 indexOf() 메소드를 활용을 해서
문자열.indexOf('찾을 문자열') >= 0
로 알아볼 수 있다.
문자열의 indexOf()
메소드를 사용하는 예를 알아보자.
프로토타입(prototype)이란 일시적으로 승급이 일어나는 옷이며 여기다가 메소드를 추가해서 기본자료형이 추가적인 메소드를 활용할 수 있게 하는 녀석이다! 라는 것을 꼭 기억해두자
🔻 toFixed()
Number 객체
에서 자주 사용하는 메소드 toFixed()
이다소수점을 가진 숫자.toFixed(나타낼 소수점자리수)
[example]
'string'
이다📌 isNaN() , isFinite()
🔻 isNaN()
어떤 숫자가 NaN(Not a Number)
인지 또는 infinity(무한)
인지 확인할 때는
Number.isNaN()
Number.isFinite()
메소드를 사용한다.
이 메소드들은 숫자 자료형 뒤에 온점을 찍고 사용하는 것이 아니라 Number
뒤에 점을 찍고 사용한다.
우선 isNaN()
을 알아본다.
🔖 isOO()
로 시작되는 메소드들은 true 또는 false를 리턴함, 나중에 이러한 메소드를 보면 이게 무엇을 리턴하는지 예상할 수 있다.
위 같이 NaN과 비교해서는 NaN인지 확인할 수 없다.그래서 NaN인지 확인할 때는isNaN()
메소드를 써준다.
> const m = Number('숫자로 변환할 수 없는 경우')
undefined
> m // NaN을 생성한다
NaN
> m === NaN // NaN과 비교해서는 NaN인지 확인할 수 없음
false
> Number.isNaN(m)
true
🔻 isFinite()
Infinity
는 무한대 숫자를 의미한다.Infinity
라고 표현한다.isFinite()
는 말그대로 유한한가? 라는 뜻이기때문에 유한한 숫자인지 확인하는 메소드이다.> const n = 10 / 0
undefined
> n
Infinity // 양의 무한대를 생성함
> const o = -10 / 0
undefined
> o
-Infinity // 음의 무한대를 생성함
// isFinite(유한한 숫자인가?)가 false로 나옴
> Number.isFinite(n)
false
> Number.isFinite(o)
false
// 일반적인 숫자는 셀 수 있으므로 true가 나옴
> Number.isFinite(1)
true
> Number.isFinite(10)
true
무한대 숫자는 양의 무한대 음의 무한대 숫자로 나뉜다.
isFinite()
메소드가 false
인 경우는 양의 무한대 숫자와 음의 무한대 숫자 2가지 경우이다.
그리고 Infinity와 직접 비교해봐도 확인할 수 있다.
🔻 trim()
trim
이라고 부른다.[example]
→ trim()을 사용함으로써 문자열 앞뒤 공백 제거를 볼 수 있음
🔻 split()
[example]
→ split() 메소드를 사용함으로써 문자열을 매개변수(다른 문자열)로 잘라서 배열을 만들 수 있음
JSON
은 JavaScript Object Notation
의 약자로 자바스크립트의 객체처럼 자료를 표현하는 방식이다.CSV, XML, CSON 등
의 다양한 자료 표현 방식을 사용할 수 있다.현재 가장 많이 사용되는 자료 표현 방식은JSON 객체
이다.JSON
은 말이 어려워보일뿐이지 그저자바스크립트의 배열과 객체를 활용해 어떤 자료를 표현하는 형식일 뿐이다.
- 값을 표현할 때는 문자열,숫자,불 자료형만 사용할 수 있다. (함수 등 사용불가!) 2. 문자열은 반드시 큰따옴표로 만들어야함(" ") 3. 키(key)에도 반드시 따옴표 붙여야함 ("key": value)
🔻 JSON.stringify() 메소드
JSON.stringify()
🔻 JSON.parse() 메소드
and I studied for 21hrs today...so proude of me..🥹🔥