[JS-FINAL] 10. 숫자, 문자열

게코젤리·2023년 5월 29일

유데미 강의 JavaScript 완벽 가이드 : 초급 + 고급 마스터 과정을 들으면서 자바스크립트를 다시 한 번 익히는 중이다. 계속되는 포스팅에서 강의를 듣고 미처 몰랐던 부분, 심화 이해가 필요한 부분에 대해 주제별로 간단하게 기록하겠다.

0.2 + 0.4 === 0.6가 false인 이유?

자바스크립트의 모든 숫자는 부동 소수점 숫자, 즉 정수 자리와 소수 점으로 이루어져 있다. 이 형식은 대부분의 경우에서 잘 작동하지만, 모든 숫자를 정확하게 표현할 수는 없다. 왜냐하면 0.1과 0.2와 같은 숫자들은 2진수로 변환했을 때 무한한 소수가 되기 때문인데 이로 인해 연산의 결과가 예상치 못한 값이 될 수 있다.

부동소수점 수를 사용할 때 발생하는 오차를 피하려면 정수로 변환하여 작업하는 것이 권장된다.
0.2 10 + 0.4 10

BigInt

아주 큰 정수를 안전하게 표현할 수 있는 내장 객체. 기존의 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.`

0개의 댓글