티스토리 뷰
2.10 숫자와 문자열 자료형 변환
▲ 자동으로 자료형 변환
- 숫자와 문자열 더하기: 문자열이 우선되기 때문에, 숫자 + 문자열 = 문자열로 변경됨.
- 숫자와 문자열 더하기 빼고 나머지 : 숫자가 우선됨!!
▲ 강제로 자료형 변환
- Number() 함수 : 다른 자료형 => 숫자
- String() 함수 : 다른 자료형 => 문자열
▲ NaN(Not a Number) : 자료형은 숫자지만, 자바스크립트로 나타낼 수 없는 숫자를 의미함. 일반 문자열을 숫자로 표시할 수 없지만, 강제로 자료형을 바꿨기 때문에 NaN으로 출력됨.
▲ Math.sqrt(3) : 제곱근을 구하는 메소드
코드 2-44. 숫자와 문자열 자료형 변환 (1)
<script>
//1번
alert('52 + 273'); //52 + 273
//2번
alert(52 + 273); //325
//3번
alert('52' + 273); //52273
//4번
alert(52 + '273'); //52273
//5번
alert('52' + '273'); //52273
</script>
<코드설명>
1번 '52 + 273' 자체가 하나의 문자열이기 때문에 그대로 출력
2번 숫자의 덧셈이 실행돼 325를 출력함
3번,4번,5번 모두 문자열 '52273'을 출력함 => 숫자와 문자열을 덧셈 연산할 때에는 문자열이 우선됨!
코드 2-45. 숫자와 문자열 자료형 변환 (2)
<script>
alert('52 * 273'); //52 * 273
alert(52 * 273); //14196
alert('52' * 273); //14196
alert(52 * '273'); //14196
alert('52' * '273'); //14196
</script>
<코드설명> 더하기 연산자를 제외한 사칙 연산자는 숫자가 우선되기 때문에 하나의 문자열인 1번을 제외한 나머지는 모두 숫자로 곱하여 14196이 출력됨
코드 2-46. 숫자의 입력 (1)
<script>
//변수 선언
var input = prompt('숫자를 입력해주세요', '숫자');
//출력
alert(typeof(input));
</script>
<코드 설명> prompt() 함수를 사용하면 문자열만 입력받을 수 있다. 따라서 아무리 숫자를 입력해도 문자열의 자료형 string을 출력함. 이것을 숫자로 바꾸기 위해서는 number() 함수를 사용해야함.
<코드 결과>
코드 2-47. 숫자의 입력 (2)
<script>
//변수 선언
var input = prompt('숫자를 입력해주세요', '숫자');
var numberInput = Number(input);
//출력
alert(typeof(numberInput) + ': ' + numberInput);
</script>
<코드 설명> prompt() 함수로 받은 문자열을 number() 함수를 이용해 숫자로 변환함.
숫자가 아닌 값을 입력했을 때는 NaN(Not a Number)라는 값이 출력됨. NaN은 자료형은 숫자지만,자바스크립트로 나타낼 수 없는 숫자를 의미함
<코드 결과>
: 숫자를 입력했을 때
: 숫자가 아닌 값을 입력했을 때
코드 2-48. NaN
<script>
//변수 선언
var number = Math.sqrt(-3);
//출력
alert(number);
</script>
<코드 설명> 자바스크립트는 복소수를 표현할 수 없음. 따라서 루트-3과 같은 복소수는 NaN으로 표시됨
2.11 불리언 자료형 변환
▲ Boolean() 함수 : 다른 자료형 => 불리언
▲ 조건문 or 논리 부정 연산자 : 조건문이나 논리 부정 연산자를 사용하면 자동으로 불리언 자료형으로 변환됨.
논리 부정 연산자를 사용해 Boolean() 함수처럼 작동하게 할 수 있음
코드 2-49. 불리언 자료형 변환 (1)
<script>
alert(Boolean(0)); //false
alert(Boolean(NaN)); //false
alert(Boolean('')); //false
alert(Boolean(null)); //false
alert(Boolean(undefined)); //false
</script>
<코드 설명> 위의 다섯 가지 경우를 제외한 모든 경우 true로 변환됨
코드 2-50. 불리언 자료형 변환 (2)
<script>
alert(!0); //true
alert(!NaN); //true
alert(!''); //true
alert(!null); //true
alert(!undefined); //true
</script>
<코드 설명> 논리 부정 연산자를 사용해 Boolean() 함수처럼 작동하게 만들 수도 있음!
'Language > JavaScript' 카테고리의 다른 글
Chapter 03 조건문 - if 조건문 (0) | 2023.03.26 |
---|---|
Chapter 02 자바스크립트 기본 - 일치 연산자 (0) | 2023.03.26 |
Chapter 02 자바스크립트 기본 - undefined 자료형 (0) | 2023.03.26 |
Chapter 02 자바스크립트 기본 - 배열 (0) | 2023.03.26 |
Chapter 02 자바스크립트 기본 - 입력 (0) | 2023.03.26 |
- Total
- Today
- Yesterday
- Objects 클래스
- Calendar 클래스
- 스레드 스케줄링
- 리스트
- 딕셔너리
- 함수
- Math 클래스
- not_in
- 파이썬
- 리스트연산자
- 역반복문
- 요소선택
- python
- 프로그램
- Pattern 클래스
- StringBuilder 클래스
- 자료형
- StringBuffer 클래스
- StringTokenizer 클래스
- FALSE
- Random 클래스
- IndexError
- 기본 API 클래스
- Arrays 클래스
- java.time.package
- 문자열함수
- Date 클래스
- 포장 클래스
- Format 클래스
- 순환할당
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |