Roel Notebook

[JS] 연산자 (Operator)

by Roel Downey
728x90
반응형

연산자 (Operator)

 

- 연산의 사전적 의미 : 규칙에 따라 계산하여 값을 구함

- 연산자 Operator 형태
- + , - , * , / , % ,
- > , >= , < , <=
- == , != , === , !==
- 콤마(,), typeof, delete, void
- instanceof, in , new 등



## 숫자로 변환

- 연산하기 전에 우선 숫자로 변환
- 변환된 값으로 연산

 

반응형


- 값타입이 Undefined 이면 변환값은 NaN
예)

var value;
console.log(10+value);


실행 결과 ) NaN

- 값타입이 Null 이면 변환값은 +0
- 값타입이 Boolean 이면 변환값은 true:1 , false:0
예)

console.log(10+null); // null 은 0
console.log(10+true); // true 은 1
console.log(10+false); // false 은 0


실행 결과 )
10
11
10

- 값타입이 String 이면 변환값은 값이 숫자이면 숫자로 연산 , 단 더하기(+) 는 연결
예)

console.log(10+"123");
console.log(123 - "23");


실행 결과 )
10123
100

- 양쪽의 평가 결과가 하나라도 숫자가 아닐때 NaN 반환
예)

console.log(10*"20");
console.log(10 * true);
console.log(10 * false);
console.log(10 * null);
console.log(10 * "A");


실행 결과 )
200
10
0
0
NaN

728x90


- 소수 값이 생기는 경우 처리

2021.12.30 - [Web/JavaScript] - [JS] 소수점 계산 오류 (배정밀도 64비트 부동소수점 )


예)

console.log(2.3*3);
console.log(2.3 * 10 * 3 / 10);


실행 결과 )
6.8999999999999995
6.9

 

 

단항 연산자

- 형태 : +value

- 값을 Number 타입으로 변환

예)

var value = "7";
console.log(typeof value);
console.log(typeof +value);
console.log(typeof Number(value));

실행 결과 )
string
number

number

 

 

- 형태 : -value

- 값의 부호를 바꿈 ( +는 -로, -는 +로 바꿈 )

예)

var value = 7;
console.log(-value);
console.log(8 + -value);
console.log(value);

실행 결과 )
-7
1

7

 

 

후치 ++ 연산자

- 형태 : value++

- 문장을 수행한 후에 값을 자동으로 1 증가 시킴

 

 

전치 ++ 연산자

- 형태 : ++value

- 문장 안에서 값을 자동으로 1 증가 시킴

 

 

후치 -- 연산자

- 형태 : value--

- 문장을 수행한 후에 값을 자동으로 1 감소 시킴

 

 

전치 -- 연산자

- 형태 : --value

- 문장 안에서 값을 자동으로 1 감소 시킴

 

 

 

! 연산자

- 형태 : !value

- 논리 NOT 연산자

- 표현식 평가 결과를 true -> false , false -> true 반환

 

 

 

== 연산자

- 동등 연산자

 

숫자 타입으로 변환

예)

console.log(1 == "1");

실행 결과 )

true

 

undefined 비교

예)

var value;
console.log(value == undefined);

실행 결과 )
true

 

undefined , null 비교

예)

var value;
console.log(value == null);

실행 결과 )
true

 

 

 

=== 연산자

-  일치 연산자

 

타입이 다름

예)

console.log(1 === "1");

실행 결과 )
false

 

 

undefined , null 비교

예)

var value;
console.log(value == null);
console.log(value === null);

실행 결과 )
true

false

 

 

!== 연산자

-  불일치 연산자

 

 

조건 연산자

-  3항 연산자

- exp ? exp-1 : exp-2

    true 이면 exp-1 결과 반환

    false 이면 exp-2 결과 반환

 

조건 연산자

예)

console.log(1 === 1 ? "같음" : "다름");
console.log(1 === "1" ? "같음" : "다름");

실행 결과 )
같음

다름

 

 

 

 

 

 

 

 

728x90
반응형

'Web > JavaScript' 카테고리의 다른 글

[JS] 문장(Statement)  (0) 2022.01.03
[JS] __proto__가 [[Prototype]]으로 표시  (0) 2022.01.03
[JS] 소수점 계산 오류 (배정밀도 64비트 부동소수점 )  (0) 2021.12.30
[JS] 데이터 타입  (0) 2021.12.29
[JS] 변수  (0) 2021.12.29

블로그의 정보

What doing?

Roel Downey

활동하기