▶내장함수 종류
문자열 함수 |
alert | 주어진 문자열을 확인 대화창으로 화면에 표시한다. |
confirm | 주어진 문자열이 표시되는 확인/ 취소 대화창을 화면에 표시 | |
prompt | 주어진 문자열이 제목으로 표시되는 값을 입력받기 위한 대화창 |
|
eval | 주어진 문자열을 수식으로 변환하여 리턴 | |
Number | 주어진 문자열의 변수가 숫자모양일 경우 실제 숫자형으로 변환하여 리턴 |
|
parseInt | 주어진 문자열의 변수가 숫자모양일 경우 실제 숫자형으로 변환하여 리턴 |
|
inNaN | 주어진 문자열이 숫자형식이 아니면(문자열..) true, 숫자 형식이면 flase 를 리턴한다. |
▶내장함수 예시
1) eval(문자열)
1
2
3
4
5
6
7
8
9
|
let a = "1+1";
let b = 1+1;
let c = eval("1+1");
console.log(a); // 1+1
console.log(b); // 2
console.log(c); // 2
|
cs |
2) Number(문자열) & parseInt(문자열)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
let value = "100";
//Number와 parseInt에 값 할당
let num1 = Number(value); // 100
let num2 = parseInt(value); // 100
//Number와 parseInt에 할당한 값에 +1
let r1 = value + 1; //1001
let r2 = num1 + 1; //101
let r3 = num2 + 1; //101
|
cs |
전달되는 파라미터가 정수형태의 문자열인 경우 두 함수는 동일한 결과를 리턴하지만, 실수형태를 갖는 문자열을 전달할 경우 두 함수는 서로 다른 결과를 리턴한다.
-. Number: 주어진 문자열이 "100.1"일 경우 100.1이라는 실수 형태로 변환
-. parseInt: 주어진 문자열이 "100.1"일 경우 소수점 자리를 내림하고 정수 형태인 100만 리턴
3) isNaN(문자열)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//Number이 "a"라는 문자형태 문자값을 받을 경우
let a = Number("a");
console.log(a); // NaN
//NaN에 숫자 1을 더할 경우
let a_sum = a + 1;
console.log(a_sum); //NaN
//NaN에 문자열을 할경우
let a_str = a + "str";
console.log(a_str); // NaNstr (문자열의 나열)
|
cs |
Number함수와 parseInt 함수는 파라미터로 전달된 문자열이 숫자형태("123")가 아닌 문자형태("abc")일 경우에 "NaN"이라는 문자열 값을 리턴한다. 즉, NaN은 문자형태로 연산이 불가능함으로 "NaN"값과 숫자값과의 연산은 모든 결과가 "NaN"이다.
# 변수의 NaN여부를 검사하는 함수: is NaN
isNaN함수는 파라미터로 전달되는 변수의 NaN여부를 boolean형태로 리턴한다.
-. true: 파라미터가 숫자로 변환할 수 없는 문자열인 경우(ex."abc")
-. false: 파라미터가 숫자모양을 한 문자열이거나 실제 숫자형 변수일 경우(ex."123",123)
parseInt함수나 Number함수의 정상동작을 보장하기 위해서는 파라미터를 전달하기 전에 해당 값이 NaN이 아니라는 것을 검사해야한다.
isNaN함수의 결과를 부정하면, 그 값은 숫자값이거나 숫자형으로 변환가능한 문자열이라는 의미가 된다.
*예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
let v1 = "가나다라";
let v2 ="12345";
let is_num1 = !isNaN(v1); //true -> false로 변환
let is_num2 = !isNaN(v2); //false -> true로 변환
//is_num1이 참이라면 v1, false라면 v2
//출력값: 가나다라는 숫자가 아닙니다.
if(is_num1){
console.log(v1+"는 숫자입니다.");
}else{
console.log(v1+"는 숫자가 아닙니다.");
}
//is_num2이 참이라면 v1, false라면 v2
//출력값: 12345는 숫자입니다.
if(is_num2){
console.log(v2+"는 숫자입니다.");
}else{
console.log(v2+"는 숫자가 아닙니다.");
}
|
cs |
'국비필기노트 > HTML & CSS & JS' 카테고리의 다른 글
JS_스크립트 로딩제어(defer, async, onload) (0) | 2022.05.15 |
---|---|
JS_여러가지함수들(기본함수, date, setInterval, 현재시각출력) (0) | 2022.05.11 |
JS_배열 (0) | 2022.05.10 |
JS_함수(function) 호출방법 (0) | 2022.05.10 |
JS_변수의 종류 (0) | 2022.05.10 |