용어 정리
피연산자(operand)
연산을 수행하는 대상, 인수(argument)라고 불리기도 한다.
5*2라는 식이 있을 때 5와 2
단항(unary), 이항(binary)
피연산자의 개수에 따라, 한개면 단항 두개는 이항이라고 부른다.
기본 연산자
기본적인 덧셈, 뺄셈, 곱셈, 나눗셈이 있고
% 나머지 연산자
** 거듭제곱 연산자
가 있다.
덧셈 연산자(+)로 숫자 뿐 아니라 문자열을 병합할 수도 있다.
"hello" + "world" //"helloworld"
이때 문자형인 경우 숫자여도 문자형으로 병합이 된다. 👇👇👇
"2" + 2 //22
"hello" + 2 + 2 //"hello4"
덧셈 연산자(+)는 Number()와 동일한 일도 할 수 있다.
Number() 대신 앞에 +를 붙여주면 숫자형으로 변환한다. (단항 덧셈이 이항 덧셈보다 우선순위이기 때문)
let apple = "2";
let orange = "2";
apple + orange; //22
+apple + +orange; //5
복합 할당 연산자 += -= /= *=
+= -= /= *=
변수의 값을 간단히 바꾸는 방법
let n = 1;
n += 10; //11
n -= 1; //10
n /= 2; //5
n *= 3; //15
증가/감소 연산자 ++ --
1을 늘리거나 줄일 때 사용
n++
n--
++n
--n
//변화시킨 값을 바로 사용하려면 전위형 연산자
++n; //n+1
//값을 변화시킨 후 그 전 값을 사용하려면 후위형 연산자
n++; //n
n; //n+1
비트 연산자 & | ^ ~
& | and |
| | or |
^ | xor |
~ | not |
<< (left shift) | |
>> (right shift) | |
>>> (zero-fill right shift |
잘 쓰이지 않는다. 있다는 것만 기억
쉼표 연산자 ,
짧게 줄이는 용도로 사용 (잘 사용하지 않음)
마지막 표현식의 결과만 반환됨
우선순위 낮음 (=보다 낮음)
a = 1+2, 3+4; //a = 3, 7 > 쉼표가 더 낮은 순위이기 때문
a = (1+2, 3+4); //a = 7
//이럴 때 사용
for (a=1, b=3, c=a*b; a<10; a++) {}
비교 연산자
참, 거짓으로 반환
값의 자료형이 다르면 숫자형으로 바꾸어 비교
>= | 크거나 같다 |
<= | 작거나 같다 |
== | 참 ('string'과 숫자 구분이 없이 비교) |
=== | 참 (strict하게 비교) |
!== | 거짓 ('string'과 숫자 구분이 없이 비교) |
!=== | 거짓 (strict하게 비교) |
여기서 'string'은 문자열을 의미하는데,
==는 숫자가 일치하는지만 확인하고,
===는 data type까지 확인한다. (더 엄격)
예를 들어
'1' == 1 는 참
'1' === 1 는 거짓
이 된다.
0 == false; //true
0 === false; //false
문자열 비교
'z' > 'Z' > 'A'
소문자가 대문자보다 크고 z가 a보다 크다.
null, undefined
//null과 undefined는 짝꿍임
null == undnefined; //true
null >= 0; //true > null을 숫자형으로 변환하여 0으로 바꾸기 때문
//위 두 경우 제외하곤 null, undefined 비교는 모두 false
null === undefined; //false
null > 0; //false
null == 0; //false
undefined > 0; //false
undefined < 0; //fasle
undefined == 0; //false
논리 연산자
&& | 그리고 (and), 첫번째 falsy를 반환 |
|| | 아니면 (or), 첫번째 truthy를 반환 |
! | 아닌 (not) |
'WEB > javaScript' 카테고리의 다른 글
[javaScript/공부] 문자형(String) (0) | 2024.12.13 |
---|---|
[javaScript/공부] Math.methods(); (0) | 2024.12.13 |
[javaScript/공부] 형 변환 (0) | 2024.12.12 |
[javaScript/공부] 자료형 (0) | 2024.12.12 |
[javaScript/공부] 코드 구조, 변수와 상수 (0) | 2024.12.12 |