본문 바로가기
JavaScript

사칙연산 결과..

by hiro1983 2015. 2. 3.

자바스크립트 내부에서는 다른 데이터 형식들의 연산이 어떻게 실행될까??

아래 자바스크립트에서 사용되는 5개의 데이터 형식의 사칙연산을 실행해 보았다.


var strText = "1"

var intNum = 2

var bool = true

var nul = null

var edf = undefined


------------------------------------------------------------


※ 문자열 + 연산

0. strText + strText : 11

1. strText + intNum : 12

2. strText + bool : 1true

3. strText + nul : 1null

4. strText + edf : 1undefined


※ 문자열 - 연산

0. strText - strText : 0

1. strText - intNum : -1

2. strText - bool : 0

3. strText - nul : 1

4. strText - edf : NaN


※ 문자열 * 연산

0. strText * strText : 1

1. strText * intNum : 2

2. strText * bool : 1

3. strText * nul : 0

4. strText * edf : NaN


※ 문자열 / 연산

0. strText / strText : 1

1. strText / intNum : 0.5

2. strText / bool : 1

3. strText / nul : Infinity

4. strText / edf : NaN


------------------------------------------------------------


※ 숫자 + 연산

0. intNum + intNum : 4

1. intNum + bool : 3

2. intNum + nul : 2

3. intNum + edf : NaN


※ 숫자 - 연산

0. intNum - intNum : 0

1. intNum - bool : 1

2. intNum - nul : 2

3. intNum - edf : NaN


※ 숫자 * 연산

0. intNum * intNum : 4

1. intNum * bool : 2

2. intNum * nul : 0

3. intNum * edf : NaN


※ 숫자 / 연산

0. intNum / intNum : 1

1. intNum / bool : 2

2. intNum / nul : Infinity

3. intNum / edf : NaN


------------------------------------------------------------


※ 불린 + 연산

0. bool + bool : 2

1. bool + nul : 1

2. bool + edf : NaN


※ 불린 - 연산

0. bool - bool : 0

1. bool - nul : 1

2. bool - edf : NaN


※ 불린 * 연산

0. bool * bool : 1

1. bool * nul : 0

2. bool * edf : NaN


※ 불린 / 연산

0. bool / bool : 1

1. bool / nul : Infinity

2. bool / edf : NaN


------------------------------------------------------------


※ null + 연산

0. nul + nul : 0

1. nul + edf : NaN


※ null - 연산

0. nul - nul : 0

1. nul - edf : NaN


※ null * 연산

0. nul * nul : 0

1. nul * edf : NaN


※ null / 연산

0. nul / nul : NaN

1. nul / edf : NaN


------------------------------------------------------------


※ undefined + 연산

0. edf + edf : NaN


※ undefined - 연산

0. edf - edf : NaN


※ undefined * 연산

0. edf * edf : NaN


※ undefined / 연산

0. edf / edf : NaN


------------------------------------------------------------


결론 1.

 1) + 연산에 문자열이 포함 되어 있다면, 그 연산의 결과값은 문자열 이다.


결론 2.

 1) + 연산에 문자열이 포함 되어 있지 않다면, 그 연산의 결과값은 숫자형 이다.

 2) 불린 타입은 true:1, false:0으로 인식하며, null은 0으로 인식한다.

 3) undefined이 포함 되어 있다면 NaN의 결과값을 보여준다.


결론 3.

 1) - 연산에 사용된 값들은 숫자형으로 인식 된다.

 2) 단, 문자열의 경우 정수범위의 문자열은 숫자형, 한글,영어와 같은 문자열은 문자열로 인식 된다. 

이와 같은 경우에는 결과값은 NaN이 된다.

 3) 불린 타입은 true:1, false:0으로 인식하며, null은 0으로 인식한다.

 4) undefined이 포함 되어 있다면 NaN의 결과값을 보여준다.


결론 4.

 1) * 연산에 사용된 값들은 숫자형으로 인식 된다.

 2) 단, 문자열의 경우 정수범위의 문자열은 숫자형, 한글,영어와 같은 문자열은 문자열로 인식 된다. 

이와 같은 경우에는 결과값은 NaN이 된다.

 3) 불린 타입은 true:1, false:0으로 인식하며, null은 0으로 인식한다.

 4) undefined이 포함 되어 있다면 NaN의 결과값을 보여준다.


결론 5.

 1) / 연산에 사용된 값들은 숫자형으로 인식 된다.

 2) 단, 문자열의 경우 정수범위의 문자열은 숫자형, 한글,영어와 같은 문자열은 문자열로 인식 된다. 

이와 같은 경우에는 결과값은 NaN이 된다.

 3) 불린 타입은 true:1, false:0으로 인식하며, null은 0으로 인식한다.

 4) undefined이 포함 되어 있다면 NaN의 결과값을 보여준다.

 4) 1을 0으로 나누면 Infinity의 결과값을 보여준다.

 5) null을 null로 나누면 NaN의 결과값을 보여준다.

'JavaScript' 카테고리의 다른 글

replace - 문자열 변환  (0) 2015.11.25
JavaScript Reflection  (0) 2015.05.15
프로그램 실행 단계  (0) 2015.02.04
원시 타입 - 문자열 & 불린  (0) 2015.02.03
원시 타입 - 숫자  (0) 2015.02.03