2023. 1. 3. 11:06ㆍJavascript/TCP school
미리 정의된 전역 함수(predefined functions)
어떤 타입의 객체에서도 바로 사용할 수 있음
정의되어 있는 전역 함수
1. eval()
2. isFinite()
3. isNaN()
4. parseFloat()
5. parseInt()
6. decodeURI()
7. decodeURIComponent()
8. encodeURI()
9. encodeURIComponent()
10. escape()
11. unescape()
12. Number()
13. String()
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
위의 예제처럼 parseInt() 함수에 두 번째 인수로 특정 진법을 전달하면, 해당 진법에 맞는 정수로 반환
또한, 전달받은 문자열의 시작이 "0x"로 시작하면, parseInt() 함수는 해당 문자열을 16진수로 인식
하지만 자바스크립트는 더 이상 이 문법을 지원하지 않음
encodeURI()와 encodeURIComponent()
encodeURI() 함수 - URI에서 주소를 표시하는 특수문자를 제외하고, 모든 문자를 이스케이프 시퀀스(escape sequences) 처리하여 부호화
encodeURIComponent() 함수 - URI에서 encodeURI() 함수에서 부호화하지 않은 모든 문자까지 포함하여 이스케이프 시퀀스 처리
encodeURI(부호화할URI);
encodeURIComponent(부호화할URI);
var uri = "http://google.com/search.php?name=홍길동&city=서울";
var enc1 = encodeURI(uri);
var enc2 = encodeURIComponent(uri);
document.write(enc1 + "<br>" + enc2);
/*
결과 값
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
*/
decodeURI()와 decodeURIComponent()
decodeURI() 함수 - encodeURI() 함수나 다른 방법으로 만들어진 URI(Uniform Resource Identifier)를 해독
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() 함수 - 전달받은 문자열에서 escape() 함수나 다른 방법으로 만들어진 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()); // 현재 날짜에 해당하는 숫자를 반환함. ex)1672711425821
Number(null); // 0
String()
전달받은 객체의 값을 문자열로 반환
String(객체);
String(123); // 123
String(123.456); // 123.456
String("123"); // 123
String(new Date()); // 현재 날짜에 해당하는 문자열을 반환함. ex)Tue Jan 03 2023 11:05:27 GMT+0900 (한국 표준시)
String(null); // null
String(true); // true
String(false); // false
String(Boolean(1)); // true
String(Boolean(0)); // false
참고
http://www.tcpschool.com/javascript/js_function_predefinedFunction
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'Javascript > TCP school' 카테고리의 다른 글
객체의 생성 (0) | 2023.01.03 |
---|---|
객체의 개념 (0) | 2023.01.03 |
매개변수와 인수 (0) | 2023.01.02 |
함수의 유효 범위 (0) | 2023.01.02 |
변수의 유효 범위 (0) | 2023.01.02 |