유데미 강의 JavaScript 완벽 가이드 : 초급 + 고급 마스터 과정을 들으면서 자바스크립트를 다시 한 번 익히는 중이다. 계속되는 포스팅에서 강의를 듣고 미처 몰랐던 부분, 심화 이해가 필요한 부분에 대해 주제별로 간단하게 기록하겠다.
자바스크립트의 모든 숫자는 부동 소수점 숫자, 즉 정수 자리와 소수 점으로 이루어져 있다. 이 형식은 대부분의 경우에서 잘 작동하지만, 모든 숫자를 정확하게 표현할 수는 없다. 왜냐하면 0.1과 0.2와 같은 숫자들은 2진수로 변환했을 때 무한한 소수가 되기 때문인데 이로 인해 연산의 결과가 예상치 못한 값이 될 수 있다.
부동소수점 수를 사용할 때 발생하는 오차를 피하려면 정수로 변환하여 작업하는 것이 권장된다.
0.2 10 + 0.4 10
아주 큰 정수를 안전하게 표현할 수 있는 내장 객체. 기존의 Number 타입은 2^53 - 1 (약 9000조) 이상의 정수를 처리할 수 없지만, BigInt는 이 제한을 뛰어넘는 수를 안전하게 처리할 수 있다. BigInt는 런타임에서 생성되며, 정수 리터럴 뒤에 n을 붙여서 생성할 수 있다.
Math.random()
function randomIntBetween(min, max){
return Math.floor(Math.random() * (max - min +1) + min)
}
```js
## 태그드 템플릿
텍스트를 동적으로 변환해서 표시할 때 사용.
```js
function func(strings, name, price){
console.log(strings);
console.log(name);
console.log(price);
let priceCategory = 'cheap';
if(price > 20) {
priceCategory = 'fair';
}
return `${strings[0]}${name}${strings[1]}${priceCategory}${strings[2]}`;
}
const name = 'Desk';
const price = 50;
const output = func`This is product (${name}) is ${price} price.`