dev._.note

[JAVASCRIPT] 연산자 우선순위 본문

Dev/JAVASCRIPT

[JAVASCRIPT] 연산자 우선순위

Laena 2023. 3. 15. 16:48

1) / 연산자

자바스크립트는 숫자가 모두 64비트 double 형이기 때문에 5 / 2 의 값이 C나 Java처럼 2가 아닌 2.5가 되는 것을 주의

console.log(5/2);   // 2.5

 


2) typeof null

이전 글(http://zeany.net/56) 에서도 살펴봤는데, null이 할당된 변수의 typeof나 null 자체의 typeof는 null이 아닌 object 입니다.

var x = null;

console.log(x);   // null
console.log(typeof x);   // object
console.log(typeof null);   // object

 


3) == , === 

둘 다 두 값이 일치하는 지를 비교하지만, == 는 가능하면 형 변환을 거쳐서 어떻게든 true를 만들려고 하지만,
=== 는 형 변환 없이 그대로를 비교. 가급적 비교할 때는 === 를 사용
console.log(true == 1);   // true
console.log(false == 0);   // true
console.log(0 == "0");   // true

console.log(true === 1);   // false
console.log(false === 0);   // false
console.log(0 === "0");   // false

==의 부정은 !=이고, ===의 부정은 !== 

 


4) **

제곱 (Exponentiation)을 뜻하는 이 연산자는 추가된지 얼마되지 않아 브라우저에 따라 동작하지 않을 수 있으니 사용X

 


연산자 우선순위

우선순위  연산자  설명 
19 ( )  괄호
18 .  객체의 멤버
18 []  객체의 멤버
17 ()  함수 호출
17 new  객체 생성
16 ++  증가 (postfix) ex) i++
16 --  감소 (postfix)
15 ++  증가 (prefix) ex) ++i
15 --  감소 (prefix)
15 !  논리 부정
15 typeof  타입
14 *  곱하기
14 /  나누기
14 %  나머지
13 +  더하기
13 -  빼기
12 <<  왼쪽 shift
12 >>  오른쪽 shift
12 >>>  부호 무시 오른쪽 shift
11 <  보다 작은
11 <=  작거나 같은
11 >  보다 큰
11 >=  크거나 같은
10 ==  일치 (형변환)
10 ===  일치
10 !=  불일치 (형변환)
10 !==  불일치
6 &&  논리 AND
5 ||  논리 OR
3 =  할당
3 +=  
3 -=  
3 *=  
3 %=  
3 <<=  
3 >>=  
3 >>>=  
3 &=  
3 ^=  
3 !=  

 

 

 

'Dev > JAVASCRIPT' 카테고리의 다른 글

[JAVASCRIPT] JavaScript란?  (0) 2023.03.22
[JAVASCRIPT] 자바스크립트 작성  (0) 2023.03.06