NaN (Not a Number)



 NaN은 숫자이긴 숫자인데 자바스크립트로 나타낼 수 없는 숫자를 의미한다.


1
2
3
4
5
    <script>
        var str = 'Hello';
 
        alert(Number(str));
    </script>
cs


만약 문자열을 Number()함수를 이용하여 숫자로 변경할려고 한다면 NaN이 반환된다.


문자열은 숫자로 변환될 수 없기 때문이다.


또한 자바스크립트에서는 루트와 같은 복소수도 표현할수 없는 숫자여서 NaN으로 표시된다.

'개발 > JavaScript' 카테고리의 다른 글

[JavaScript] 일치연산자  (0) 2018.06.15
[JavaScript] 불 자료형 변환  (0) 2018.06.14
[JavaScript] 연산자와 자료형변환  (1) 2018.06.14
[JavaScript] 입력하기  (0) 2018.06.14
[JavaScript] 기본문법 - undefined 자료형  (0) 2018.06.14

연산자와 자료형변환



 사칙연산을 이용해서 데이터를 연산하는 경우 때에 따라서 자료형 변환이 일어나게 된다.


+ 연산자

이 중 + 연산자는 숫자끼리의 연산이 아니라 문자열과 숫자가 함께 덧셈 연산이 이루어지는 경우 문자열로 자동형변환이 된다.



1
2
3
4
5
6
    <script>
        alert(10 + 20); //30 숫자 + 숫자 = 숫자
        alert('10' + 20//1020 문자열 + 숫자 = 문자열
        alert(10 + '20'); //1020 숫자 + 문자열 = 문자열
        alert('10' + '20'); //1020 문자열 + 문자열 = 문자열
    </script>
cs


위의 코드와 같이 + 연산자는 숫자끼리의 연산이 아니면 문자열로 자동형변환이 일어나는 것을 알 수 있다.



+ 이외의 연산자

 + 연산자를 제외한 사칙 연산자는 피연산자에 문자열이 있을 경우 숫자형으로 자동형변환 된다.

1
2
3
4
5
6
    <script>
        alert('20' - 10); //10
        alert('20' * 10); //200
        alert('20' / 10); //2
        alert('20' % 3); //2
    </script>
cs


강제형변환 / Number() String()



위와 같이 연사자를 이용하여 자료형이 자동으로 변환되는 것 이외에 강제로 자료형을 변환할 수도 있다.


앞선 03 입력하기 글에서 prompt()함수에 대해서 알아보았는데, 이 함수의 경우 숫자를 입력하여도 반환되는 값은 


문자열로 반환이 된다. 따라서 숫자형으로 연산을 하고자 할 경우에는 강제형변환을 해주어야한다.


강제형변환을 하는 함수는 Number()함수와 String() 함수이다.


Number()함수는 다른 자료형을 숫자로 바꾸어 반환해 준다.


String()함수는 다른 자료형을 문자열로 바꾸어 반환해 준다.



1
2
3
4
5
6
7
    <script>
        var input = prompt('Input Number''Input here');
        
        //input에 숫자 10입력
        alert( input + 10); //1010 문자열 + 숫자
        alertNumber(input) + 10); //20 숫자 + 숫자
    </script>
cs



 위 코드와 같이 prompt()함수를 이용해 입력받은 값을 숫자로 사용하고자 할 경우에는  Number()함수를 이용해서


강제형변환을 해주어야 한다.





'개발 > JavaScript' 카테고리의 다른 글

[JavaScript] 불 자료형 변환  (0) 2018.06.14
[JavaScript] NaN  (0) 2018.06.14
[JavaScript] 입력하기  (0) 2018.06.14
[JavaScript] 기본문법 - undefined 자료형  (0) 2018.06.14
[JavaScript] 자바스크립트의 역사  (0) 2018.06.13

문자열 입력받기



 문자열을 입력받을 때에는 prompt()함수를 사용한다.


1
2
3
4
<script>
       var input = prompt('Input Message''Input here');
       alert(input);
</script>
cs


prompt() 함수에는 선택적으로 두개의 매개변수를 입력할 수 있다.


첫번째 매개변수는 입력창을 설명하는 문자열이고, 두번째 매개변수는 입력난에 기본적으로 입력되어있는 문자열이다.


prompt()함수가 호출되고 난 뒤에는 입력된 문자열이 반환된다.


그래서 위의 코드에서 반환된 문자열을 변수에 저장하고 출력되는 것을 확인할 수 있다.



boolean형 입력받기(yes or no)


yes or no를 선택하는 boolean형을 입력 받기 위해서는 comfirm() 함수를 사용한다.


1
2
3
4
5
    <script>
        var input = confirm('Select');
 
        alert(input);
    </script>
cs


confirm()는 prompt()함수와 달리 매개변수를 하나만 입력할 수 있다.


매개변수에 입력한 문자열이 입력창을 설명하는 문자열로 출력된다.


confirm()함수가 실행되고 난 뒤에는 [확인]을 누른경우 true를, [취소]를 누르고 난 뒤에는 false를 반환한다.



+ Recent posts