TIL-JavaScript(연산자)

연시아·2022년 5월 2일
0

TIL

목록 보기
18/51
post-thumbnail

22.05.02

🍏 연산자

연산자란 컴퓨터를 이용해서 코드를 통해 연산을 할 때도 연산의 방식을 결정하는 기호를 연산자라고 부릅니다. '='는 우항의 값인 1을 좌항의 변수 a에 대입하는 '대입 연산자' 라고 합니다.

a=1

🍌 비교 연산자

==,>,<,>=,<= 순서대로 같음,큼,작음,크거나 같음,작거나 같음입니다. 프로그래밍에서는 ==가 같다는 뜻이고, =는 대입연산자입니다. 변수에 값을 대입하는 역할입니다.

a==b
a>b
a<b
a>=b
a<=b

🍍 동등 연산자

동등 연산자(== , abstract equality)는 좌항과 우항의 값이 서로 같으면 참(true)을 반환합니다.
좌항과 우항의 타입이 서로 다르더라도 값이 같다면 true를 반환합니다.

== 사용하기
alert(1==2)         // false
alert(1==1)        // true
alert("one" == "two")         // false 
alert("one" == "one")        // true

🍇 일치 연산자

일치 연산자(=== , strict equality)는 좌항과 우항의 피연산자가 값과 타입이 모두 같은 경우에만 true를 반환합니다.

=== 사용하기 
alert(1=='1');        // true
alert(1==='1');      // false

🍉 == 와 === 차이점

자바스크립트는 업격한 비교와 유형변환 비교를 모두 지원하므로, 어떤 연산자가 어떤 비교 조건에 사용되는지가 중요합니다. ===는 변수 유형을 고려하는 반면, ==는 변수 값을 기반으로 유형을 수정합니다. '==' 는 연산자를 이용하여 서로 다른 유형의 두 변수의 값을 비교하고, '==='는 엄격한 비교를 하는 것으로 알려져 있습니다.(값&자료형)

alert(null == undefined);          // true
alert(null === undefined);          // false
alert(true == 1);                 // true
alert(true === 1);                 // false
alert(true == '1');              // true
alert(true === '1');               // false
alert(0 === -0);                 // true
alert(NaN === NaN);                // false

💡 변수를 비교하거나 어떤 비교를 위해서는 항상 '===' 연산자를 사용 할 것을 권장합니다.
가능한 '==' 연산자를 사용하지 않도록 하고, 직접 자료형을 변환하여 보다 코드 가독성을 높이도록 합니다.

🍓 부정과 부등호

✏ !=
'!'는 부정을 의미합니다. '같다'의 부정은 '같지 않다' 입니다. 이것을 기호로는 '!=' 로 표시합니다.

alert(1!=2);         // true
alert(1!=1);        // false
alert("one"!="two");          // true
alert("one"!="one");         // false 

✏ !==
'!=='는 '!='와 '=='의 관계는 같습니다. 정확하게 같지 않다는 의미입니다.

alert(1!==2);         // true
alert(1!==1);        // false
alert("one"!=="two");            // true
alert("one"!=="one");           // false

✏ >
좌항이 우항보다 크다면 참, 그렇지 않다면 거짓임을 알려주는 연산자입니다.

alert(10>20);        // false
alert(10>=1);       // true 
alert(10>=10);       // true

✏ >=
좌항이 우항보다 크거나 같다는 의미입니다.

alert(10>=20);        // flase
alert(10>=1);        // true
alert(10>=10);        // true
profile
backend developer

0개의 댓글