6.문 법


6.2 연 산

  여러분이 C나 C++를 배운적이 있다면, 이부분은 그냥 넘어가도 좋을 정도로 C언어에서 사용되는 연산자들이 대부분 그대로 적용되었다. (단지 비트연산자는 <<= , =>>, ^=가 쓰이는 것이 다르다.)
  * 논리연산자 : && || !
  * 비교연산자 : == != > < >= <=
  ** 비교연산도, 문자건 숫자건 그냥 바로 == 로 비교하면된다.
i == 4, str == "test"
  문제는 숫자와 문자가의 연산이 문제이다. 다음의 표는 덧셈을 하는 경우의 결과표이다.

+ String "123" String "abc" Integer 123 Float 1.23 Boolean true Boolean false null
String "123"
String "abc"
Integer 123
Float 1.23
Boolean true
Boolean false
null


  • 숫자와 숫자사이의 덧셈은 진짜 더하게 된다.
  • 숫자와 문자열을 더하게 되면 문자열 합치기가 일어난다.
  • 숫자와 연산을 하는 true, false, null은 각각 1, 0, 0 값을 가지게 된다.
  • 문자열이 아니면 기본적으로 숫자로 간주한다.
  • 문자열과 연산을 하는 true, false, null은 각각 "true", "false", "null"로 변경되어 문자열 합치기가 일어난다.
  다음은 비교연산의 결과표이다.

Left >= Top String"A" String"a" null true false 1 NaN Infinity
String"A"
String"a"
null
true
false
1
NaN
Infinity


  • NaN은 모든 경우에 대하여 false값을 가지게 된다.(비교불가)
  • String간의 비교는 ASCII값에 의해 비교를 수행하며, 그 외의 경우는
  • 비교 불가로 항상 false값을 가진다.
  • 숫자와 비교 시 null, true, false는 각각 0, 1, 0의 값을 가지게 된다.
  • null, true, false간의 연산은 숫자로 처리되어 진행한다.
    NaN / Infinity   NaN이란, 숫자가 아니다(Not a Number)의 약자로 숫자가 아닌것임을 나타낸다. Infinity는 무한수로, 0으로 나누게 되면, 에러가 나는 것이 아니라 Infinity값을 가지게 된다.
우선 순위연산자
1 괄호
2 !, ++, -(부호), --, new, delete, void
3 *, /, %
4 +, -
5 <<. >>. >>>
6 <, >, <=, >=
7 ==, !=, ===, !==
8 &
9 |
10 ^
11 &&
12 ||
13 ? :
14 =, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, |=
15 콤마(,)


- Last Update : 2008.9.4 by Deadfire(http://www.deadfire.net)

Javascript 강좌
들어가기
Javascript란?
작동 방식
장 단 점
기 초
     - HTML문서에추가하기
     - 최초 예제
     - 함수사용하기
     - 기본 함수
문 법
     - 변 수
     - 연 산
     - 조 건 문
     - 반 복 문
     - 사용자함수
객 체
     - Object란?
     - 속성과 함수
     - 객체의 생성과사용
내장 객체
     - Date
     - Math
     - String
     - Array
     - Boolean
     - Function
     - Argument
     - Number
     - Global
     - 기 타
     - with / delete
Event 객체
네비게이터 객체
     - 네비게이터객체구조
     - 객체 접근 방법
     - navigator
     - window
     - location
     - history
     - document
     - form
     - form elements
Frame 객체
기 타
     - Animation
     - Audio
마치며

Copyright ⓒ 1997 ~, Deadfire Program Master