| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 개발자취업부트캠프
- 개발 공부
- 모던 딥 다이브 자바스크립트
- 자바스크립트
- 프로그래머스
- MegabyteSchool
- 공식문서
- 내일배움카드
- 프론트엔드
- 코딩테스트
- 모던 자바스크립트 딥 다이브
- JavaScript
- GIT
- 이벤트
- 리액트
- react
- next.js
- useMemo
- useRef
- 메가바이트스쿨
- TypeScript
- Github
- 비전공자
- 국비지원교육
- 입문
- 패스트캠퍼스
- styled-components
- 알고리즘
- CSS
- 자료구조
- Today
- Total
개발 기록 남기기✍️
자바스크립트 중급 (2) - Symbol, 수학 Method 본문
이번 포스트도 역시나 코딩앙마님의 강의를 보고 작성했습니다.
[자바스크립트 중급 강좌 : 140분 완성 - YouTube](https://www.youtube.com/watch?v=4_WLS9Lj6n4&t=5204s)
1. Symbol
Symbol은 JS의 자료형 중 하나로, 유일한 식별자 를 만들 때 사용한다.
Symbol의 기본적인 property key는 문자형이다.
const a = Symbol() 형식으로 사용한다.
const a = Symbol();
const b = Symbol();
console.log(a); // Symbol()
console.log(b); // Symbol()
a === b; // false
a == b; // false
const id = Symbol('id');
const user = {
name : 'Mike',
age : 20,
[id] : 'myId'
};
console.log(user); // {name : 'Mike', age : 20}
Object.getOwnPropertySymbols(user);
// [Symbol(id)]
Reflect.ownKeys(user);
// ['name', 'age', Symbol(id)]
Symbol("text")로 심볼에 설명을 붙여줄 수 있다. 심볼이 동작하는데 아무 영향도 주지 않는다.
Object method에서는 Symbol을 건너뛴다.
✔️숨겨진 Symbol key 보는 법
- Object.getOwnPropertySymbols(user)` -> `[Symbol(id]
- Reflect.ownKeys(user)` -> `['name', 'age', Symbol(id)]
Symbol.for()
- 하나의 심볼만 보장받을 수 있다.
- 전역 심볼이다.
- Symbol 함수는 매번 다른 Symbol 값을 생성하지만, Symbol.for('key') 메소드는 하나를 생성한 뒤, 키를 통해 같은 Symbol을 공유한다.
- Symbol.keyFor(var)을 통해 해당 Symbol의 key 값을 알 수 있다.
- 전역 심볼이 아닌 심볼은 keyFor 대신 description을 사용하면 된다.
const id1 = Symbol.for('id');
const id2 = Symbol.for('id');
id1 === id2; // true
Symbol.keyFor(id1); // "id"
const id3 = Symbol('id입니다');
id3.description; // 'id입니다'
2. 수학 Method
toString()
10진수에서 16진수화 한다.
let num = 10;
num.toString(); // "10"
num.toString(2); // "1010"
let num2 = 255;
num2.toString(16); // "ff"
Math.ceil()
소수점을 올림 처리하여 정수화
Math.floor()
소수점을 내림 처리하여 정수화
Math. round()
소수점을 반올림하여 정수화
toFixed(n)
원하는 소수점 자릿수에 맞춰 String 값으로 반환
isNaN()
해당 값이 NaN인지를 판별해서 boolean 값을 반환
parseInt()
문자열을 숫자로 반환, 읽을 수 있는 부분만 읽고 정수로 반환한다.
숫자만 읽고, 문자가 등장하는 즉시 문자 이전까지의 값을 반환한다. 문자가 첫 글자일 때 NaN을 반환한다.
두 번째 인수를 받아서 진수를 주장할 수 있다.
let margin = "10px";
parseInt(margin); // 10
Number(margin); // NaN
let red = 'f3';
parseInt(red); // NaN
parseInt(red, 16); // 243
parseFloat()
문자열을 숫자로 반환하며, 소수점까지 모두 반환한다.
Math.random()
0부터 1까지 사이의 무작위 숫자를 생성한다.
예제) 1 ~ 100 사이의 임의의 숫자를 뽑고 싶다면?
Math.floor(Math.random() * 100) / + 1
Math.max() / Math.min()
인수들 중 최댓값 / 최솟값을 반환한다.
Math.abs()
인수의 절대값을 반환한다.
Math.pow(n,m)
n을 m 제곱한 값을 반환한다.
Math.pow(2,10); // 1024
Math.sqrt()
인수의 제곱근을 반환한다.
Math.sqrt(16); // 4'Front-End > JavaScript' 카테고리의 다른 글
| 자바스크립트 중급 (4) - 구조 분해 할당, 나머지 매개변수, 전개구문, 클로저 (0) | 2022.12.05 |
|---|---|
| 자바스크립트 중급 (3) - 문자열 Method, 배열 Method (1) | 2022.12.05 |
| 자바스크립트 중급 (1) - TDZ, 생성자 함수, 객체 메소드, 계산된 프로퍼티 (0) | 2022.12.05 |
| 자바스크립트 기초 (5) - 객체, 객체 method, this, 배열 (0) | 2022.12.05 |
| 자바스크립트 기초 (4) - 함수의 기초, 함수 표현식, 화살표 함수 (0) | 2022.12.05 |