반응형
# 자바스크립트 학습
# Global 오브젝트
## Global 오브젝트의 개요
- 모든 <script> 엘리먼트를 통해 하나만 존재한다.
- 하나만 존재하므로 new 연산자로 인스턴스 생성 불가
- 모든 코드에서 공유한다.
- 이름(Global)은 있지만 오브젝트 실체가 없다.
- 오브젝트를 작성(사용)할 수 없다.
## Global 오브젝트 함수, 변수
- Global 오브젝트의 함수, 변수를 Global 함수, Global 변수라고 한다.
- 함수 안에 작성한 것을 지역 함수, 로컬(Local) 함수라고 부르며, 함수 안에 작성된 변수를 지역 변수, 로컬 변수라고 한다.
- Global 오브젝트를 전역 객체라고 부르기도 한다.
# Global 프로퍼티
## 프로퍼티 리스트
이름 | 개요 |
값 | |
NaN | Not-a-Number |
Infinity | 무한대 값 |
undefined | undefined |
함수 | |
isNaN() | NaN 여부, NaN 이면 true, 아니면 false 반환 |
isFinite() | 유한대 여부, 유한이면 true, 아니면 false |
parseInt() | 정수로 변환하여 반환 |
parseFloat() | 실수로 변환하여 반환 |
eval() | 문자열을 JS코드로 간주하여 실행 |
encodeURI() | URI 인코딩 |
encodeURIComponent() | URI 확장 인코딩 |
decodeURI() | encodeURI 함수의 인코딩 값을 디코딩 |
decodeURIComponent() | decodeURIComponent 함수의 인코딩 값을 디코딩 |
- 인코딩 : 숫자와 문자를 사람이 보기 어렵게 바꾸는 것
- 디코딩 : 인코딩 한 것을 사람이 볼 수 있는 숫자와 문자로 바꾸는 것
## Global 프로퍼티
- Global 프로퍼티의 종류
NaN : Not-a-Number
Infinity : 무한대
undefined : undefined
- 상수 개념으로 사용하며, 외부에서 프로퍼티의 값을 변경할 수 없다.
- delete 연산자로 삭제 불가
log(NaN);
log(Infinity);
log(undefined);
=>
NaN
Infinity
undefined
# Global 오브젝트와 Window 오브젝트의 관계
## Global과 Window 관계
- 글로벌과 window 오브젝트의 주체
글로벌 오브젝트 : 자바스크립트(JS)가 주체
window 오브젝트 : window가 주체
- 주체는 다르지만, 글로벌 오브젝트의 프로퍼티와 함수가 window 오브젝트에 설정된다. 따라서 프로퍼티와 함수 사용하려면 window 오브젝트를 사용해야 한다.
- Host 오브젝트의 개념을 활용하여 Global오브젝트의 함수와 프로퍼티를 window 오브젝트에 저장할 수 있고, window 오브젝트를 이용하여 사용할 수 있다.
# 정수, 실수 변환
## parseInt()
구분 | 데이터(값) |
파라미터 | 값 |
진수, 디폴트: 10진수 | |
반환 | 변환한 값 |
- 값을 정수로 변환하여 반환한다.
값이 123.56이면 123반환
log(parseInt(123.56));
=>
123
소수를 제외하고 정수만 반환
- 값이 "123px"이면 123 반환, 주로 이 용도로 parseInt를 많이 사용한다.
log(parseInt("-123.45"));
log(parseInt("123px"));
log(parseInt("12AB34"));
=>
-123
123
12
- 0 또는 빈 문자열을 제외시킨다.
log(parseInt("0012"));
log(parseInt(" 123"));
log(parseInt());
=>
12
123
NaN
- 진수를 적용하여 값을 변환한다.
log(parseInt(13, 16)); // 13을 16진수로 변환
log(parseInt("0x13")); // 0(숫자)x는 16진수를 나타낸다.
=>
19
19
## parseFloat()
구분 | 데이터(값) |
파라미터 | 값 |
반환 | 변환한 값 |
- 값을 실수로 변환하여 반환한다.
자바스크립트는 기본적으로 실수로 처리하므로
실수로 변환하는 것은 의미가 없다.
하지만, 문자열의 실수 변환은 의미가 있다.
log(parseFloat("-123.45") + 6);
log(parseFloat("12.34AB56"));
=>
-117.45
12.34
String 타입이지만 값이 숫자이면 변환
문자 이후는 변환하지 않는다.
- 지수, 공백의 변환
log(parseFloat("1.2e3"));
log(parseFloat(" 12.34 ") + 20);
log(parseFloat());
=>
1200
32.34
NaN
반응형
'인프런 강의 학습 > 자바스크립트 비기너' 카테고리의 다른 글
자바스크립트 학습 21일차 (0) | 2020.12.26 |
---|---|
자바스크립트 학습 20일차 (0) | 2020.12.25 |
자바스크립트 학습 18일차 (0) | 2020.12.23 |
자바스크립트 학습 17일차 (0) | 2020.12.21 |
자바스크립트 학습 16일차 (0) | 2020.12.19 |