1. eval()

    eval('2+2') ⇒ 4
    
  2. isFinite()

    console.log(isFinite(Infinity) //false
    console.log(isFinite(NaN) //false
    console.log(isFinite('hello') //false
    
    console.log(isFinite(0) //true
    console.log(isFinite('10') //true
    console.log(isFinite(null) //true => null도 유한수로 판단함!
    
  3. isNaN()

    isNaN(NaN)       // true
    isNaN(undefined) // true: undefined → NaN
    isNaN({})        // true: {} → NaN
    isNaN('blabla')  // true: 'blabla' → NaN 문자열은 Nan처리'
    
    isNaN('37')      // false: '37' → 37 숫자로된 문자열은 숫자로 알아서 보는듯해서 false
    
    isNaN(true)      // false: true → 1
    isNaN(null)      // false: null → 0
    
  4. parseFloat()

  5. parseInt()


Untitled

이스케이프 처리

네트워크를 통해 정보를 공유할 때 어떤 시스템에서도 읽을 수 있는 ASCII Character-set로 변환하는 것이다. UTF-8 특수문자의 경우, 1문자당 1~3byte, UTF-8 한글 표현의 경우, 1문자당 3btye이다. 예를 들어 특수문자 공백(space)은 %20, 한글 ‘가’는 %EC%9E%90으로 인코딩된다.

이스케이프 처리 이유

URI 문법 형식 표준 RFC3986에 따르면 URL은 ASCII Character-set으로만 구성되어야 하며 한글을 포함한 대부분의 외국어나 ASCII에 정의되지 않은 특수문자의 경우 URL에 포함될 수 없다. 따라서 URL 내에서 의미를 갖고 있는 문자(%, ?, #)나 URL에 올 수 없는 문자(한글, 공백 등) 또는 시스템에 의해 해석될 수 있는 문자(<, >)를 이스케이프 처리하여 야기될 수 있는 문제를 예방하기 위함이다.

단 아래의 문자는 이스케이프 처리에서 제외된다.

  1. encodeURI() / decodeURI()

    var uri = '<http://example.com?name=이웅모&job=programmer&teacher>';
    var enc = encodeURI(uri);
    var dec = decodeURI(enc);
    console.log(enc);
    // <http://example.com?name=%EC%9D%B4%EC%9B%85%EB%AA%A8&job=programmer&teacher>
    console.log(dec);
    // <http://example.com?name=이웅모&job=programmer&teacher>
    
  2. encodeURIComponent() / decodeURIComponent

    var uriComp = '이웅모&job=programmer&teacher';
    
    // encodeURI / decodeURI
    var enc = encodeURI(uriComp);
    var dec = decodeURI(enc);
    console.log(enc);
    // %EC%9D%B4%EC%9B%85%EB%AA%A8&job=programmer&teacher
    console.log(dec);
    // 이웅모&job=programmer&teacher
    
    // encodeURIComponent / decodeURIComponent
    enc = encodeURIComponent(uriComp);
    dec = decodeURIComponent(enc);
    console.log(enc);
    // %EC%9D%B4%EC%9B%85%EB%AA%A8%26job%3Dprogrammer%26teacher
    console.log(dec);
    // 이웅모&job=programmer&teacher