갈푸라떼
갈푸라떼는 개발중
갈푸라떼
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • CS (0)
      • CSinfo (0)
    • Frontend (15)
      • HTML,CSS (1)
      • Javascript (2)
      • React (0)
      • React Hook (12)
    • Backend (0)
      • Python (0)
      • Node.js (0)
      • php (0)
    • DB (2)
      • MySQL (2)
      • BigQuery (0)
      • Mongodb (0)
    • Study (186)
      • JavaScript (72)
      • JavaScript(Clean code) (50)
      • Node.js (11)
      • HTML,CSS (13)
      • React (30)
      • TypeScript (10)
      • React-Native (0)
    • Error (2)
      • error (2)
    • Git (22)
      • Git (22)
    • Help Coding (4)
      • Useful websites (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • Github

공지사항

인기 글

태그

  • 함수
  • 컴파일러
  • ECMAScript
  • this
  • nodemon
  • 호이스팅
  • structure
  • 스코프 체인
  • function
  • prototype
  • 렉시컬 환경
  • 정적 레벨
  • 자바스크립트엔진
  • 오버라이딩
  • 프로토타입
  • Arrow
  • 인터프리터
  • class
  • 네이밍
  • SPREAD
  • 객체타입
  • PM2
  • Babel
  • 심볼
  • 원시타입
  • 이터러블
  • 싱글스레드
  • 상속
  • symbol
  • 실행 컨텍스트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갈푸라떼

갈푸라떼는 개발중

Study/JavaScript

[JavaScript_study] 유용한 객체들

2022. 4. 11. 04:42

* 자바스크립트 런타임환경 (Browser or Node)

  • 우리가 자바스크립트 코드를 작성하면 우리 어플리케이션은 자바스크립트 런타임 환경에서 동작할수 있다.
  • 런타임 환경은 브라우저가 될수도있고 노드환경이 될수도있다.

[ 런타임 환경안에 있는 객체의 종류 ]​

  1. 내장객체(Built-in Objects)

  2. 호스트 객체(Host Objects)

  • 자바스크립트 만으로는 브라우저에 있는 화면을 보여주거나 네트워크 전송을 하거나 컴퓨터에 있는 파일을 읽을수 없다.
  • 이런일들을 수행하기 위해서는 런타임 환경에서 제공해주는 호스트 객체(Host Objects)를 사용해야한다.
  • 호스트 객체란 ??? 브라우저 런타임 환경이라면 브라우저 호스트가 제공해주는 다양한 객체들 및 Web APIs들을 뜻하고 노드 환경이라면 노드에서 제공해주는 Node APIs를 뜻한다.


  3. 우리가 정의한 사용자 정의 객체(User-defined Objects)

​​

* 래퍼 객체 (Wrapper Object)

  • 래퍼 객체란 이름처럼 원시 타입의 값을 감싸는 형태의 객체이다.
// 원시값을 필요에 따라서 관련된 빌트인 객체로 변환한다.
// 원시값에 점(.)을 추가하여서 빌트인 객체로 변환한다.
const number = 123; // number 원시 타입
// number 원시타입을 감싸고 있는 Number 객체로 감싸짐
console.log(number.toString());
console.log(number); // number 원시 타입

const text = 'text'; // string 문자열 원시타입
console.log(text);
text.length; // String 객체
text.trim();

 

* 글로벌 객체 (Global Object)

* 객체를 바로 쓰지 않는 이유? (원시타입에서 빌트인 객체로 변환하는 이유)

  • 객체에는 값뿐만 아니라 다양한 함수들을 가지고 있기 때문에 원시타입보다 무겁고 메모리를 더 많이 차지한다.
  • 값을 만들때마다 객체를 생성하면 어플이 무거워진다.
  • 따라서 가능하면 원시타입을 쓰다가 필요하면 객체로 변환하고 다시 원시타입으로 변환해준다.


* Node에서의 this

  • 현재 모듈에 있는 정보를 출력한다.
console.log(globalThis);
console.log(this);
console.log(Infinity);
console.log(NaN);
console.log(undefined);

eval('const num = 2; console.log(num)');
console.log(isFinite(1));
console.log(isFinite(Infinity));

console.log(parseFloat('12.43'));
console.log(parseInt('12.43'));
console.log(parseInt('11'));

// URL (URI, Uniform Resource Identifier 하위 개념)
// 아스키 문자로만 구성되어야 함
// 한글이나 특수문자는 이스케이프 처리 해야 한다
// 프론트와 백엔드 통신할때 유용하게 쓰인다
const URL = 'https://네이버.com';
const encoded = encodeURI(URL);
console.log(encoded);

// 이스케이프 처리된 문자를 다시 decoded해주는법
const decoded = decodeURI(encoded);
console.log(decoded);

// 전체 URL이 아니라 부분적인 것은 Component이용
const part = '네이버.com';
console.log(encodeURIComponent(part));

'Study > JavaScript' 카테고리의 다른 글

[JavaScript_study] 자료구조 및 배열  (0) 2022.04.11
[JavaScript_study] 유용한 함수들  (0) 2022.04.11
[JavaScript_study] 자바스크립트 엔진에 대해서  (0) 2022.04.11
[JavaScript_study] 상속 (extends)  (0) 2022.04.11
[JavaScript_study] setter, getter  (0) 2022.04.11
    'Study/JavaScript' 카테고리의 다른 글
    • [JavaScript_study] 자료구조 및 배열
    • [JavaScript_study] 유용한 함수들
    • [JavaScript_study] 자바스크립트 엔진에 대해서
    • [JavaScript_study] 상속 (extends)
    갈푸라떼
    갈푸라떼

    티스토리툴바