// Number
let myNumber = 0.3591;
// toFixed(0~100)
console.log(myNumber.toFixed(3)); // 0.359
console.log(myNumber.toFixed(7)); // 0.3591000
0
으로 채워짐String
으로 변환되어 나옴console.log(Number(myNumber.toFixed(7))); // 0.3591
console.log(+myNumber.toFixed(7));
Number()
를 사용해서 타입을 변환해서 사용해주어야 함0
은 제외
됨Number
대신 +
를 사용해도 같은 값 나옴숫자를 문자열로 변환
let myNumber = 255;
// toString(2 ~ 36)
console.log(myNumber.toString(2)); // 11111111
console.log(myNumber.toString(8)); // 377
console.log(myNumber.toString(16)); // ff
255..toString(2);
(255).toString(2);
어떤 값의 '양수(positive number)'
console.log(Math.abs(-10)); // 10
console.log(Math.abs(10)); // 10
Math.max 함수에 파라미터로 여러 수를 넘겨주면, 그중 가장 큰 값이 리턴됩니다.
console.log(Math.max(2, -1, 4, 5, 0)); // 5
Math.min 함수에 파라미터로 여러 수를 넘겨주면, 그중 가장 작은 값이 리턴됩니다
console.log(Math.min(2, -1, 4, 5, 0)); // -1
Math.pow(x, y)를 하면 x의 y승의 결괏값이 리턴됩니다.
console.log(Math.pow(2, 3)); // 8
console.log(Math.pow(5, 2)); // 25
'제곱근(square root)'은 '제곱'의 반대라고 생각할 수 있습니다.
console.log(Math.sqrt(25)); // 5
console.log(Math.sqrt(49)); // 7
Math.round(x)
를 하면 x의반올림
된 값이 리턴됩니다. 소수점 부분이 0.5 이상이면 가장 가까운 정숫값으로 올라가고, 소수점 부분이 0.5 미만이면 가장 가까운 정숫값으로 내려갑니다.
console.log(Math.round(2.3)); // 2
console.log(Math.round(2.4)); // 2
console.log(Math.round(2.49)); // 2
console.log(Math.round(2.5)); // 3
console.log(Math.round(2.6)); // 3
Math.floor(x)
: x의 버림 값 리턴
Math.ceil(x)
: x의 올림 값 리턴
🚧 소수 부분이 얼마 인지와는 상관이 없습니다. 무조건 버리고 무조건 올림!
console.log(Math.floor(2.4)); // 2
console.log(Math.floor(2.49)); // 2
console.log(Math.floor(2.8)); // 2
console.log(Math.ceil(2.4)); // 3
console.log(Math.ceil(2.49)); // 3
console.log(Math.ceil(2.8)); // 3
Math.random
: 0 이상 1 미만의 값이랜덤
으로 리턴됩니다.
console.log(Math.random());
console.log(Math.random());
console.log(Math.random());
console.log(Math.random());
// String
let myString = 'Hi Codeit';
// 부분 문자열 접근 slice(start, end) / end: 인덱스 직전까지를 나타냄
console.log(myString.slice(0, 2)); // 0~1 까지
console.log(myString,slice(3)); // 3이후 인덱스 모두 가져옴
console.log(myString,slice()); // 문자열 전체를 가지고 옴
// 양 끝 공백 제거
console.log(myString.trim());
// 대소문자 변환
console.log(myString.toUpperCase()); // 대문자
console.log(myString.toLowerCase()); // 소문자
// 요소 탐색
console.log(myString.indexOf('i')); // 앞 부터, 1 반환
console.log(myString.lastIndexOf('i')); // 뒤 부터, 7 반환
// 🚧 없는 문자는 -1을 반환함
// 요소 접근
console.log(myString[3]); // C
console.log(myString.charAt(3)); // C
// 문자열 길이
console.log(myString.length); // 9
🚧 문자열 빈 공간도 index를 차지한다.
let myString = 'Codeit';
for (let str of myString) {
console.log(str);
}
C
o
d
e
i
t
mutable(바뀔 수 있는)
자료형immutable(바뀔 수 없는)
자료형// 배열은 mutable
let myArray = ['C', 'o', 'd', 'e', 'i', 't'];
myArray[0] = 'B';
console.log(myArray); //(6) ["B", "o", "d", "e", "i", "t"]
// 문자열은 immutable
let myString = 'Codeit';
myString[0] = 'B';
console.log(myString); // Codeit
✨ 참조형 - 같은 주소값을 공유하고 있으므로 객체가 변경되면 둘 다 동일하게 값이 변경됨
배열
let numbers1 = [1, 2, 3];
let numbers2 = numbers1.slice();
numbers2.push(4);
console.log(numbers1); // [1, 2, 3]
console.log(numbers2); // [1, 2, 3, 4]