7장 연산자

이재민·2023년 6월 24일

자바스크립트

목록 보기
4/23

산술 연산자

이항 산술 연산자

이항 산술 연산자의미부수효과
+덧셈x
-뺄셈x
*곱셈x
/나눗셈x
%나머지x

단항 산술 연산자

단항 산술 연산자의미부수 효과
++증가o
--감소o
+어떤 효과도 없음x
_양수를 음수, 음수를 양수x

피연산자에 +, - 단항 연산자를 사용하면 피연산자를 숫자 차입으로 반환. 부수효과 x

let x = '1'

console.log(+x) // 1
console.log(x) // "1"

x = true;
console.log(+x) // 1
console.log(x) // true

x = false;
console.log(+x) // 0
console.log(x) // false

x = "Hello"
console.log(+x) // NaN
console.log(x) // "Hello"

-true // -1
-'Hello' // NaN

+연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작함

'1' + 2 // '12'
1 + '2' // '12'

1 + 2 // 3
1 + true // 2
1 + false // 1
1 + null // 1
1 + undefined // NaN
// 암묵적 타입 변환, 타입 강제 변환

할당 연산자

할당 연산자동일 표현부수 효과
=x=5x=5o
+=x+=5x=x+5o
-=x-=5x=x-5o
*=x*=5x=x*5o
/=x/=5x=x/5o
%=x%=5x=x%5o

비교 연산자

비교 연산자의미사례설명
==동등 비교x==yx와 y의 값이 같음
===일치 비교x===yx와 y의 값과 타입이 같음
!=부동등 비교x!=yx와 y의 값이 다름
!==불일치 비교x!==yx와 y의 값과 타입이 다름

동등 비교 연산자는 결과를 예측하기 어려워 사용 x

5 == '5' //true
'0' == ''; // false
0 == ''; // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false == null; // false
false == undefined // false

일치 비교

5 === '5' // false
NaN === NaN // false
Object.is(NaN, NaN) //true

0 === -0 //true
Object.is(-0, +0) //false

삼항 조건 연산자

조건식 ? 조건식이 true일 때 반환할 값 : 조건이 false일 때 반환할 값

let x = 10;

//삼항 조건 연산자 표현식은 표현식인 문. 값처럼 사용 가능
let result = x % 2 ? '홀수' : '짝수';
console.log(result); // 짝수

논리 연산자

논리 연산자의미부수 효과
||논리합x
&&논리곱x
!부정x

논리 부정(!) 연산자는 언제나 불리언 값을 반환. 피연산자가 불리언 값이 아니면 불리언 타입으로 임묵적 타입 변환

!0 // true
!'Hello' // false

typeof 연산자

number, boolean, undefined, symbol, object, function중 하나를 반환.

let a = null;

typeof a === null; // false   typeof null -> object 자바스크립트의 버그이나 기존코드에 영향을 줄수 있기 때문에 수정되지 않음 
a === null; // true

typeof NaN // number
//선언되지 않은 식별자의 typeof는 undefined를 반환

지수 연산자

2 ** 2 // 4
Math.pow(2, 2) // 4 지수 연산자가 도입되기 전에 사용
-5 ** 2 // SyntaxError
(-5) ** 2 // 25
profile
안녕하세요

0개의 댓글