숫자형
숫자표기법
지수표기법 e
1e9 = 1 * 10^9 = 1000000000
25e5 = 25* 10^5 = 2500000
16e-5 = 16 * 10^-5 = 0.00016
16진법 - 0x
0xff // 255
0xFF// 255
8진법 - 0d
0o377 //255
2진법 -0b
0b11111111 // 255
숫자형 메소드
toFixed(0~100) // 자릿수를 바꾸는 메소드
- 자릿수를 초과하는 경우 0으로 채운다
- 계산된 값이 문자열이므로 결과값을 숫자로 사용하고자 할 때에는 Number로 형변환
- +를 붙이면 number함수를 사용한 것과 같은 값이 나온다!
toString (2~36)
파라미터로 넣은 숫자의 진수로 변환해주는 메소드
숫자에 바로 사용하는 방법
정수형태의 숫자 값에 메소드를 사용할때 점 두개를 사용하면 된다.
Ex) 255..toString(2) //255를 2진수로 바꾼다.
내장객체 - Math 객체
Math.abs(x) // x의 절댓값이 리턴됨
Math.max(a,b,c...) // 가장 큰 값 리턴
Math.min(a,b,c...) // 가장 작은 값 리턴
Math.pow(x,y) // x^y 리턴
Math.sqrt(x) // x의 제곱근 리턴
Math.round(x) // x의 반올림된 값이 리턴됨
Math.floor(x) // x의 버림값이 리턴
Math.ceil(x) // x의 올림값이 리턴
Math.random() // 0이상 1미만의 값이 랜덤으로 리턴됨
more method : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math
숫자 연산 시 오차 나오는 것 방지하는 방법
컴퓨터는 2진수로 숫자를 연산하기 때문에, 만약 0.2+0.3 과 같은 연산을 수행하게 되면 우리가 원하는 0.5라는 값이 아니라 뒤에 쓰레기값이 같이 나오는 오차가 발생한다.
따라서 사용자가 그때그때 소수점 뒷자리를 반올림해주며 적절한 연산이 수행되도록 해주어야 한다.
이 오차를 완벽하게 방지할 수 있는 방법은 없다. 필요한 상황에 따라 적절히 방식을 변형해가며 적용해야 함.
1. toFixed 메소드를 활용해서필요한 자릿수에 맞춰서 반올림
-> Number함수를 사용하여 숫자형으로 만들어 주기!
toFixed(1)
2. Math.round 함수를 활용하여 반올림 해주기
Math.round(sum * 10) / 10
문자열
문자열은 배열과 비슷한 부분이 많다.
문자열을 배열메소드를 통해 다룰 수 있다.
문자열 메소드
//대소문자 변환 메소드
let myString = 'Hello';
myString.toUpperCase() // 대문자로 변환
myString.toLowerCase() // 소문자로 변환
//양 끝 공백 제거 메소드
trim() // 양 쪽 공백을 제거한 문자열을 리턴
//부분 문자열 접근 slice(start, end)
myString.slice(0,2) // 0번부터 1번까지의 문자열 리턴
myString.slice(2) // 2번부터 끝까지 문자열 리턴
myString.slice() // 모두 생략 시 전체 문자열 리턴
그러나 문자열과 배열의 명확한 차이는 배열은 mutable 자료형이고 문자열은 immutable 자료형이라는 것.
배열은 요소를 수정할 수 있는 반면에, 문자열은 한번 할당된 값을 수정할 수 없다.
문자열이 가진 메소드들은 모두 return 값을 활용하고, 본래의 문자열 값을 수정하지 않는다. 따라서 splice 같은 일부 배열의 메소드들은 사용할 수 없다.
'개발공부 > JavaScript' 카테고리의 다른 글
JavaScript 키워드 var에 대하여.. (0) | 2024.01.27 |
---|---|
JavaScript 배열에 대하여 (2) | 2024.01.27 |
JavaScript 객체와 내장객체 (0) | 2024.01.27 |
JavaScript 기초강의 정리 (2) | 2024.01.24 |