반응형

# 자바스크립트 학습

# 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
반응형

+ Recent posts