빌트인객체-1

Built-in Object

Host Object

  • 개발자가 직접 만든 객체

표준 빌트인 객체 (= Global Objects)

  • 공통적으로 필요한 기능을 제공한다.
  • Stinrg,Array,Object,Function,Boolean,Number,Math,Date,RegExp, 등등 대문자로 시작.
  • 표준 빌트인 객체들은 생성자 함수이다.

표준 빌트인 객체의 프로퍼티(예)

1
'abc'.length; //(문자->객체) length는 String의 프로퍼티.

전역 객체

  • 전역 객체의 자식 객체를 사용할 때, window 생략이 가능하다. 예) window.alert(); -> alert();
  • 전역변수를 프로퍼티로 가진다.
  • 참고 : 프로퍼티, 메서드를 계속 전역으로 선언하면 window 객체 영역이 커진다. (전역 변수를 사용할 때는 즉시 호출 함수(IIFE)를 사용하도록 한다.)

전역 프로퍼티(window.프로퍼티)

  • Infinity (Number.Infinity) : 양/음의 무한대를 나타내는 숫자값
  • NaN (Number.NaN) : 숫자가 아님을 나타내는 숫자값
  • undefined : 기본자료형 undefined를 값으로 갖는다.

전역 함수

  • eval()
  • isFinite() : 숫자로 변환하여 유한수인지를 판단한 후, 결과값을 Boolean으로 나타낸다.
  • isNaN() : NaN인지를 검사하여 Boolean으로 반환한다.(숫자면 false)
  • parseFloat() : 부동소수점 숫자로 변환하여 반환한다.
  • parseInt() : 정수형 숫자로 변환하여 반환한다.

URI 형식

  • http, host(도메인), port 넘버, Path, Query(256개 가능), Pragment로 구성된다.

encodeURI() / decodeURI()

  • encodeURI() : URI의 문자들을 이스케이프 처리한다.
  • decodeURI() : 이스케이프 처리된 문자를 다시 반환한다.

이스케이프

  • 어떤 시스템에서도 읽을 수 있는 ASCII Character-set로 변환하는 것.
  • 특수문자/공백/한글일 경우, 정규표현식으로 이스케이프 처리된다.

encodeURIComponent() / decodeURIComponent()

  • Query 부분의 =, ?, &를 인코딩한다.
  • encodeURI()와 차이점은 encodeURI()는 =, ?, &을 인코딩하지 않는다.
  • 알파벳, 0~9의 숫자, - _ . ! ~ * ‘ ( )는 이스케이프에서 제외된다.

Error

자바스크립트는 비동기 처리하므로 try-catch문으로 에러 처리를 하지 않는다.

기본자료형과 래퍼객체

  • 모든 기본자료형은 래퍼객체를 가지고 있다.
  • 예) ‘str’ -> new String(‘str’)
  • 기본자료형을 객체처럼 사용할 수 있게 한다. (객체화되면 메소드 또는 프로퍼티를 호출할 수 있다.-> str.length/ str.toUpperCase();)
  • 메소드를 호출하는 시점에만 객체화.
  • 호출이 종료되면 기본자료형으로 돌아온다.

string를 위한 레퍼객체(String)

  • 기본자료형이 String(레퍼객체)의 메소드를 사용할수 있는 이유는 메소드나 프로퍼티를 호출할때 순간적으로 레퍼객체로 변환되어 프로토타입 객체를 상속받기 때문이다.

String Constructor

  • String 객체는 String()생성자 함수로 생성됨.
  • 전달되는 모든 인자는 문자열로 변환.
  • length 프로퍼티를 가지고 있으며, 유사객체배열로 사용할 수 있다.

String Property

  • String은 원본(기본자료형)을 변경하지 않는다.

String.length

  • 문자열의 문자 갯수를 반환

    String Method

    String.prototype.charAt() [프로토타입 붙어있는것 확인]

  • index번호에 해당되는 위치의 문자 반환.
  • 0부터 시작한다.

    String.prototype.indexOf()

  • 문자또는 문자열을 검색해서 처음 찾은 곳의 index 반환.
  • 못찾으면 -1 반환.

    String.prototype.lastIndexOf()

  • 자또는 문자열을 검색해서 마지막에 찾은 곳의 index 반환.
  • 못찾으면 -1 반환.
  • 참고로 인덱스의 값은 변하지 않음.

    String.prototype.replace()

  • 첫번째 인자의 문자열을 찾고 두번째 인자의 문자로 대처함.
  • 원본 문자열은 변하지 않음.
  • 첫번째 인자의 문자열이 검색된 문자열에 여러개 존재하면 첫번째만 바꿔줌.
  • /hello/gi <-첫번째 인자를 이렇게 넣으면 전체검색하여 다바꿔줌.
  • 정규표현식은 어려우니까 나중에 공부하자.

    String.prototype.split()

  • 인자값에 넣은 문자열을 검색하여 그것을 토대로 문자를 분리후 배열로 반환[배열은 문자열로 들어감]
  • 마찬가지로 원본은 변하지 않는다.

    String.prototype.substring()

  • 첫번째 인자에 전달된 인덱스값의 문자부터 두번째 인자의 인덱스 값-1까지의 문자를 반환.
  • 두번째인수가 커야된다.

    String.prototype.toLowerCase()

  • 모두 소문자로 바꿈.

    String.prototype.toUpperCase()

  • 모두 대문자로 바꿈.

    3.9 String.prototype.trim()

  • 문자열의 양끝 공백을 제거한 후 문자반환.
  • 가운데 껴있는 공백은 제거안됨.

Date

Date객체는 날짜와 시간을 위한 빌트인객체

  • 그러나 라이브러리로 대부분 사용.[알아만두자]
  • 1000<–밀리초단위로 1초이다.
  • 1970년 1월 1일 00:00(UTC) 기점.
  • UTC / GMT 같다고 보면되지만 UTC라 부르고 사용하자.

Date Constructor

  • var d = new Date(‘2017/08/08/20:00:00’); 이 방법을 쓰자.
  • 월은 0~11까지의 정수로 표현되므로 주의하자.