본문 바로가기
JaveScript

Global(글로벌 객체)

by 원더링 2022. 6. 7.

Global

 

 

▶ 모든 객체의 최상위 객체이며 브라우저에서는 window가 글로벌 객체이며, 서버(Node.js)에서는 global이 글로벌 객체이다.

 

 

 

Global property

 

 

▶ 글로벌 프로퍼티는 글로벌 객체의 프로퍼티를 의미한다.

 

 

▶ Infinity => 무한대의 숫자를 의미한다.

 

 

▶ NaN => Not a Number의 의미로 숫자가 아니라는 의미이다.

 

 

Undefined => 원시 타입 Undefined를 갖는다.

 

 

 

Global function

 

 

▶ 글로벌 객체의 메서드이다.

 

 

▶ eval() => 매개변수에 전달된 문자열이나 표현식을 자바스크립트 코드로 평가해준다.

 

// 문자열의 의미를 자바스크립트의 코드로 평가하여 보여준다.
eval('let a = 10; console.log(a)'); // 10
eval('x = 2; y = 5; console.log(x + y);'); // 7

 

 

▶ isFinite() => 매개변수의 값이 무한대인지 아닌지 판단하여 boolean타입으로 반환해준다. 숫자가 아닌 경우에 숫자로 변환하여 판단한다.

 

// 값이 무한대가 아닌 경우에 true를 반환한다.
console.log(isFinite(3));  // true
console.log(isFinite('3')); // true => 문자열 '3'을 숫자 3으로 변환하여 판단한다.
console.log(isFinite(null));  // true => null을 0으로 변환하여 판단한다.

// 값이 무한대인 경우에 false를 반환한다.
console.log(isFinite(Infinity));  // false
console.log(isFinite(NaN));  // false
console.log(isFinite('Hola'));  // false => 숫자가 아닌 문자열을 false로 판단한다.

 

 

▶ isNaN() => 매개변수의 값이 숫자 아닌지 판단하여 boolean타입으로 반환해준다. 숫자가 아닌 경우에숫자로 변환하여 판단한다.

 

// 값이 숫자가 아닌 경우에 true를 반환한다.
console.log(isNaN(undefined));  // true
console.log(isNaN(NaN));  // true
console.log(isNaN('Hola'));  // true

// 값이 숫자인 경우에 false를 반환한다.
console.log(isNaN(5));  // false
console.log(isNaN('5')); // false => 문자열 '5'을 숫자 5으로 변환하여 판단한다.
console.log(isNaN(null));  // false => null을 0으로 변환하여 판단한다.
console.log(isNaN(false)); // false => false를 숫자 0으로 변환하여 판단한다.

 

 

▶ parseFloat() => 매개변수로 전달된 문자열을 부동소수점의 숫자로 변환하여 반환해준다. 문자열의 첫 숫자만 반환되며 전후의 공백들은 무시한다.

 

console.log(parseFloat('1.234'));  // 1.234
console.log(parseFloat(' 80 '));  // 80 => 전후 공백 무시
console.log(parseFloat('50 70 90'));  // 50 => 첫 숫자만 반환
console.log(parseFloat('30 years old'));  // 30 => 첫 숫자만 반환후 뒤의 문자열 무시
console.log(parseFloat('Happy 2022'));  // NaN => 첫 문자열이 문자형인 경우 NaN 반환

 

 

▶ parseInt() => 매개변수로 전달된 문자열을 정수형의 숫자로 변환하여 반환해준다. 문자열의 첫 숫자만 반환되며 전후의 공백들은 무시한다.

 

console.log(parseInt('1.234')); // 1 => 정수형으로 반환하므로 소수점뒤의 숫자는 무시
console.log(parseInt(' 5.32 '));  // 5 => 전후 공백, 소수점 뒤의 숫자 무시
console.log(parseInt('7.43 8.34 9.73'));  // 소수점 뒤의 숫자 무시, 첫 숫자만 반환
console.log(parseInt('30.45 years old'));  // 첫 숫자만 반환후 뒤의 문자열 무시, 소수점 뒤의 숫자 무시
console.log(parseInt('Happy 2022'));  // 첫 문자열이 문자형인 경우 NaN 반환

 

 

▶ encodeURL() => 매개변수로 전달된 URI를 이스케이프 처리를 해준다. URI주소는 아스키 문자로만 구성되어야 하기 때문에 특수문자나 한글은 이스케이프 처리를 해줘야 한다.

 

const adress = 'https://www.자바스크립트.com/';
const url = encodeURI(adress); // 한글인 '자바스크립트'를 아스키코드로 변환함
console.log(url);  // https://www.%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.com/

 

 

▶ dencodeURL() => 매개변수로 전달된 인코드 된(이스케이프 된) URI를 디코드 해준다.

 

const adress = 'https://www.자바스크립트.com/';
const url = encodeURI(adress);
console.log(url);  // https://www.%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.com/

// 인코딩 된 주소를 다시 디코딩
const decode = decodeURI(adress);
console.log(decode);  // 'https://www.자바스크립트.com/';

 

 

 

 

'JaveScript' 카테고리의 다른 글

forEach  (0) 2022.06.09
Array(배열)  (0) 2022.06.08
Wrapper(래퍼 객체)  (0) 2022.06.07
Reference Type(참조 타입)  (0) 2022.06.05
Primitive Type(원시 타입)  (0) 2022.06.05