[JavaScript] 자바스크립트 함수(function) (2) : 미리 정의된 전역 함수

2021. 8. 3. 18:24·JavaScript
728x90

 

 

미리 정의된 전역 함수 (predefined functions)

- JS는 사용자 편의를 위해 다양한 기능의 여러 전역 함수를 미리 정의하여 제공한다

- 어떤 타입의 객체에서도 바로 사용 가능

 

 

 

eval()

: 문자열로 표현된 자바스크립트 코드를 실행하는 함수

eval("문자열");
var x = 10, y = 20;
var a = eval("x + y"); // 30
var b = eval("y * 3"); // 60
document.write(a + "<br>" + b);

 

 

 

isFinite()

: 전달된 값이 유한한 수인지를 검사하여 결과를 반환한다. 인수가 숫자가 아니라면 숫자로 변환하여 검사한다

isFinite(검사할값);
isFinite(123);       // true
isFinite(123e100);   // true
isFinite(0);         // true
isFinite(true);      // true
isFinite(false);     // true
isFinite(null);      // true
isFinite("123");     // true
isFinite("");        // true
 
isFinite("문자열");  // false
isFinite(undefined); // false
isFinite(NaN);       // false

 

 

 

isNaN()

: 전달된 값이 NaN인지 검사하여 결과를 반환한다. 인자가 숫자가 아니라면 숫자로 강제 변환하여 검사

- 전달된 값이 숫자인지 확인하기 위해 typeof를 대신 사용하는 것도 가능하다

isNaN(검사할값);
isNaN(123);       // false
isNaN(123e100);   // false
isNaN(0);         // false
isNaN(true);      // false
isNaN(false);     // false
isNaN(null);      // false
isNaN("123");     // false
isNaN("");        // false
 
isNaN("문자열");  // true
isNaN(undefined); // true
isNaN(NaN);       // true

 

 

 

parseFloat()

: 문자열을 파싱하여 부동 소수점 수(floating point number)로 반환

parseFloat("문자열");
parseFloat("123");        // 123
parseFloat("123.000");    // 123
parseFloat("123.456");    // 123.456
parseFloat("12 34 56");   // 12
parseFloat(" 123 ");      // 123
parseFloat("123 초콜릿"); // 123
parseFloat("초콜릿 123"); // NaN

 

 

 

parseInt()

: 문자열로 파싱하여 정수로 반환

parseInt("문자열");
parseInt("123");        // 123
parseInt("123.000");    // 123
parseInt("123.456");    // 123
parseInt("12 34 56");   // 12
parseInt(" 123 ");      // 123
parseInt("123 초콜릿"); // 123
parseInt("초콜릿 123"); // NaN
 
parseInt("10", 10);     // 10
parseInt("10", 8);      // 8
parseInt("10", 16);     // 16
parseInt("0x10");       // 16

- 전달받은 문자열이 "0x"로 시작하면 16진수로 인식

 

 

 

encodeURI()

: URI에서 주소를 표시하는 특수문자를 제외하고, 모든 문자를 이스케이프 시퀀스로 처리하여 부호화한다

encodeURI(부호화할URI);
var uri = "http://google.com/search.php?name=홍길동&city=서울";
var enc1 = encodeURI(uri);

 

 

 

 encodeURIComponent()

: URI(Uniform Resource Identifier)에서 encodeURI() 함수에서 부호화하지 않은 모든 문자까지 포함하여 이스케이프 시쿼스 처리한다

encodeURIComponent(부호화할URI);
var uri = "http://google.com/search.php?name=홍길동&city=서울";
var enc2 = encodeURIComponent(uri);

 

 

 

decodeURI()와 decodeURIComponent()

- decodeURI() : encodeURI() 함수나 다른 방법으로 만들어진 URI를 해독한다

- decodeURIComponent() : encodeURIComponent() 함수나 다른 방법으로 만들어진 URI 컴포넌트를 해독한다

decodeURI(해독할URI);
decodeURIComponent(해독할URI);
var uri = "http://google.com/search.php?name=홍길동&city=서울";
 
var enc1 = encodeURI(uri);
var enc2 = encodeURIComponent(uri);
document.write(enc1 + "<br>" + enc2 + "<br><br>");
 
var dec1 = decodeURI(enc1);
var dec2 = decodeURIComponent(enc2);
document.write(dec1 + "<br>" + dec2);

/*
http://google.com/search.php?name=%ED%99%8D%EA%B8%B8%EB%8F%99&city=%EC%84%9C%EC%9A%B8
http%3A%2F%2Fgoogle.com%2Fsearch.php%3Fname%3D%ED%99%8D%EA%B8%B8%EB%8F%99%26city%3D%EC%84%9C%EC%9A%B8

http://google.com/search.php?name=홍길동&city=서울
http://google.com/search.php?name=홍길동&city=서울
*/

 

 

 

escape()와 unescape()

- escape() : 전달받은 문자열에서 특정 문자들을 16진법 이스케이프 시퀀스 문자로 변환

- unescape() : 전달받은 문자열에서 16진법 이스케이프 시퀀스 문자를 원래의 문자로 변환

escape("변환할문자열");
unescape("원래대로변환할문자열");
var str = "Hello! World ?#$";
 
var esc = escape(str);
var une = unescape(esc);
document.write(esc + "<br>" + une);
// Hello%21%09World%20%3F%23%24
// Hello! World ?#$

 

 

 

Number()

: 전달받은 객체의 값을 숫자로 반환

Number(객체);
Number("123");        // 123
Number("123.000");    // 123
Number("123.456");    // 123.456
Number("12 34 56");   // NaN
Number("123 초콜릿"); // NaN
 
Number(true);         // 1
Number(false);        // 0
Number(new Date());   // 현재 날짜에 해당하는 숫자를 반환함.
Number(null);         // 0

 

 

 

String()

: 전달받은 객체의 값을 문자열로 반환

String(객체);
String(123);        // 123
String(123.456);    // 123.456
String("123");      // 123
String(new Date()); // 현재 날짜에 해당하는 문자열을 반환함.
String(null);       // null
 
String(true);       // true
String(false);      // false
String(Boolean(1)); // true
String(Boolean(0)); // false

 

 

 

 

 

 

 

 

[참고자료] http://tcpschool.com/javascript/intro

 

728x90
저작자표시 비영리 (새창열림)

'JavaScript' 카테고리의 다른 글

[JavaScript] 자바스크립트 객체(object) (2) : 상속, 프로토타입, this 키워드, 삭제, 순회, 비교  (0) 2021.08.03
[JavaScript] 자바스크립트 객체(object) (1) : 참조 및 생성  (0) 2021.08.03
[JavaScript] 자바스크립트 함수(function) (1) : 정의, 유효범위, 호이스팅, arguments, 디폴트 매개변수  (0) 2021.08.03
[JavaScript] 자바스크립트 배열(array) : 생성 및 활용  (1) 2021.08.03
[JavaScript] 자바스크립트 제어문 : 조건문, 반복문, 루프 제어(label, continue, break)  (0) 2021.07.16
'JavaScript' 카테고리의 다른 글
  • [JavaScript] 자바스크립트 객체(object) (2) : 상속, 프로토타입, this 키워드, 삭제, 순회, 비교
  • [JavaScript] 자바스크립트 객체(object) (1) : 참조 및 생성
  • [JavaScript] 자바스크립트 함수(function) (1) : 정의, 유효범위, 호이스팅, arguments, 디폴트 매개변수
  • [JavaScript] 자바스크립트 배열(array) : 생성 및 활용
s_ih_yun
s_ih_yun
  • s_ih_yun
    CODESYUN
    s_ih_yun
  • 전체
    오늘
    어제
    • 분류 전체보기 (339)
      • Web (8)
      • Java (7)
      • Spring (19)
      • Git (16)
      • MyBatis (1)
      • HTML & CSS (14)
      • JavaScript (11)
      • DevOps (4)
      • Cloud (8)
      • Lanuage (13)
        • C++ (3)
        • Python (10)
      • DB (1)
        • MySQL (1)
        • Oracle (2)
      • Computer Science (26)
        • Concept (3)
        • Algorithm (23)
      • Baekjoon (104)
        • 단계별로 풀어보기 (78)
      • CodeUp (98)
        • Python 기초 100제 (98)
      • Programmers (2)
      • Books (3)
      • etc (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Syun's Pages
  • 인기 글

  • 태그

    BOJ
    JavaScript
    Cloud
    Programmers
    web
    CSS
    github
    git
    VS Code
    Python
    CodeUp 기초 100제
    MySQL
    java
    단계별로 풀어보기
    spring
    자료구조
    aws
    웹
    db
    oracle
    알고리즘
    myBatis
    C
    c++
    HTML
    SourceTree
    codeup
    clean code
    Tistory
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_ih_yun
[JavaScript] 자바스크립트 함수(function) (2) : 미리 정의된 전역 함수
상단으로

티스토리툴바