[js] study : #001 global object
1. 개요
1.1 이름
표준 내장 개체 (Standard built-in objects)
1.2 출처
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
1.3 알고가기
- 비표준은 표시하지 않음
- 중요하지 않거나 이해하기 힘든 내용 또한 표시하지 않거나 TODO 항목으로 마킹
- 각 항목별 자세한 내용은 추후 링크로 연결하거나 별도 페이지로 구성할 예정
- 자세한 내용은 출처를 참조 바랍니다.
1.4 전체목록 보기
2. 분류
2.1 값(Value properties)
- Infinity - 무한
- NaN - 숫자아님
- undefined - 미지정
- null literal - 값없음
(참조) undefined 변수가 선언되었지만 아직 값이 할당되지 않았음을 의미합니다. 반면 null은 할당 값
2.2 함수(Function properties)
- eval() - 입력 문자열을 수행한 결과
- isFinite() - 무한대 여부를 판별
- isNaN() - 숫자여부 판별
- parseFloat() - 부동소숫점 파싱
- parseInt() - 정수 파싱
- decodeURI() - 주소정보 디코딩
- decodeURIComponent() - 주소정보 디코딩 (?,=,&,/ 등 제외)
- encodeURI() - 주소정보 인코딩
- encodeURIComponent() - 주소정보 인코딩 (?,=,&,/ 등 제외)
2.3 근본개체 (Fundamental objects)
- Object - 개체
- Function - 함수
- Boolean - 참거짓(boolean 을 감싼 개체형)
- Symbol - 개체나 값이 가지는 심볼(유니크함)
- Error - 오류
- EvalError - eval오류
- InternalError - 내장함수 오류
- RangeError - 범위 오류(array 범위 길이 초과 등 )
- ReferenceError - 참조 오류
- SyntaxError - 문법 오류
- TypeError - 타입(형) 오류
- URIError - 주소(URI) 오류
2.4 숫자 날짜(Numbers and dates)
- Number - 숫자
- Math - 산술처리
- Date - 날짜
2.5 텍스트 처리(Text processing)
- String - 문자
- RegExp - 정규식
2.6 인덱싱된 수집데이터 (Indexed collections)
unsigned 부호 없음(양수만 존재), signed 부호 있음(음양 존재, 대신 절반크기)
Array - 배열
Int8Array - 8비트 singed 배열
Uint8Array - 8비트 unsinged 배열
Uint8ClampedArray - 8비트 unsinged 배열, [0,255] 범위를 벗어나는 값을 지정하면 0 또는 255가 대신 설정
Int16Array - 16비트 singed 배열
Uint16Array - 16비트 unsinged 배열
Int32Array - 32비트 singed 배열
Uint32Array - 32비트 unsinged 배열
Float32Array - 32비트 부동소숫점 배열
Float64Array - 64비트 부동소숫점 배열
2.7 키형태 수집데이터 (Keyed collections)
열거형임 (iterable)
Weak 형태는 약한 참조임, 그래서 참조 개체의 값이 사라지면 WeakXX의 내부 값도 가비지 컬렉팅됨(사라짐), 이후 오류 발생
- Map - key, value 로 이뤄진 map
- Set - 아무 타입이나 넣어 만들 수 있는 집합체
- WeakMap - Map 형태 인데 key가 object 여야 됨, primative 원시형은 안됨.
- WeakSet - Set 형태 내부의 값이 object 가 들어감
2.8 구조화 된 데이터 (Structured data)
- ArrayBuffer - 배열형태의 버퍼
- SharedArrayBuffer - (실험중) 공유된 배열형태의 버퍼
- Atomics - (실험중) SharedArrayBuffer 와 같이 사용되며, 스레드등에서 인터럽(충돌)이 나지않고 메소드를 사용할 수 있도록 도와준다
- DataView - ArrayBuffer에서 여러 숫자 유형을 읽고 쓸 수 있는 로우 레벨 인터페이스를 제공
- JSON - json 처리
2.9 통제 추상화 (Control abstraction objects)
- Promise - 약속, resolve 와 reject를 통해 비동기 처리를 지원한다
- Generator - 생성자, yield(양보)를 통해 next(), send() 등을 사용할 수 있음.
- GeneratorFunction - 생성자 함수를 만들 수 있음. (Object.getPrototypeOf(function*(){}).constructor)
2.10 Reflection
써본 적이 없어서 -_-;
- Reflect - TODO
- Proxy - TODO
2.11 Internationalization
국제화 관련 (날짜, 시간, 숫자포맷 등)
- Intl - TODO
- Intl.Collator - TODO
- Intl.DateTimeFormat - TODO
- Intl.NumberFormat - TODO
2.12 WebAssembly
웹 어셈블 관련
- WebAssembly
- WebAssembly.Module - 모듈
- WebAssembly.Instance - 인스턴스
- WebAssembly.Memory - 메모리
- WebAssembly.Table - 테이블
- WebAssembly.CompileError - 컴파일 오류
- WebAssembly.LinkError - 링크 오류
- WebAssembly.RuntimeError - 런터임 오류
2.13 기타 (Other)
- arguments - 파라미터 목록
@wonsama 님,
이 js 로 카지노 만들고 계신 것인가요?
대박 기대..
(찡자둥절)
무플 위원장님 감사요
자바스크립트가 기능이 많네요. 웹어셈블리어에 급관심이 생겼습니다.😁
요즘 보면 nes게임도 웹으로 돌리는지라
메모리 부분에서 개선이 많이 된지라
cpp를 해오신 분들은 향후 웹쪽을 노리셔도 이젠 할만할거 같아요 ㅋ
정말 흥미로운 이야기네요. 공부해봐야겠어요.😀
자바자바?
싸바싸바?
ㅎㅎㅎㅎ
pairplay 가 kr-dev 컨텐츠를 응원합니다! :)