Programming/JavaScript

연산자

잇나우 2019. 12. 10. 22:46
반응형

값에 대해서 어떤 작업을 컴퓨터에게 지시하기 위한 기호를 말한다.

대입 연산자

a = 1; // a(변수) =(대입연산자) 1(상수-변하지 않는 값)

우항의 값을 좌항에 대입한다고 하여 대입 연산자라고 말합니다. (좌항과 우항 두개의 항이 있어서 이항 연산자 라고도 함)

 

비교 연산자 (동등 연산자, 일치 연산자, 부등호 등)

두 값이 같은지, 큰지, 같거나 큰지, 작은지 등을 판별하는 연산자를 말한다.

결과는 true / false 두가지로 나오게 된다.

동등 연산자 ( == )

좌항과 우항을 비교해서 같으면 true 다르면 false

alert(1 == 1);  // true
alert(1 == 2);  // flase
alert("one" == "one")  // true

일치 연산자 ( === )

좌항과 우항을 비교하여 정확하게 같으면 ture 다르면 false

alert(1 === "1");  // flase 문자와 숫자는 다르기 때문에 flase
alert(1 == "1");  // true 결국 같은 1의 값이기 때문에 true
alert(0 === -0);  // true

동등 연산자는 데이터의 형식은 보지 않고 값이 같기만하면 true가 나오지만 일치 연산자는 데이터의 형식까지도 정확하게 같아야 true가 나온다. 동등 연산자보다 일치 연산자를 사용하는 것이 코딩에서 버그가 발생하는 확률이 적어진다.

프로그래밍에서 데이터 타입이 다른 같은 값은 아예 다른것이다.

데이터 형식

...-2 -1 0 1 2...   // number
"a" "b" "c" "d"     // string
true / false        // boolean
undefined           // undefined
null                // null
NaN                 // NaN

undefined는 값이 정의 되지 않은것

null은 (값은 정의 되었지만) 값이 없는것.

두가지 비슷한 값이 없는건 동일하지만 null은 프로그래머가 의도적으로 값이 없게 만든것이고 undefined는 의도완 상관없이 값이 정해져 있지 않은것이다.

alert(null == undefined); // true
alert(null === undefined); // false

NaN은 0을 0으로 나눴을때처럼 계산할 수 없음. 숫자가 아님. 이러한 뜻을 가지고 있다.

alert(NaN === NaN); // false

같은 NaN 이지만 데이터 값이 같은 것이 아니기 때문에 false

그밖에 동등 연산자는 숫자 1을 true라고 보고 이외 다른 숫자는 false라고 본다.

alert(a == 1); // true
alert(a == 2); // false
alert(a === 1); // false
alert(a == "1"); // true
alert(a === "1"); // false

 

!=

!는 부정을 의미한다. 좌항과 우항이 다르다는 의미

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

 

!==

정확하게 같지 않다. 일치 연산자에서 부정의 의미라고 생각하면됨.

좌항이 우항보다 크면 true 아니면 false   " < " 이건 반대 개념이다.

alert(10 > 3); // true
alert(10 > 10); // false

>=

좌항이 우항보다 크거나 같으면 true 아니면 false    " <= " 이건 반대 개념이다.

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

&&  논리 연산자  (&가 두개 있으면 and 의미를 가짐)

조건문을 좀 더 간결하고 다양한 방법으로 구사할 수 있도록 도와준다. 

if(true && true) {
	alert(1)
}    

좌항이나 우항이 모두 참일때만 전체가 참이되는 연산자이다.

if(true && false){       // 둘중하나가 false기 때문에 실행안됨
	alert(1)
}

 

||  or연산자

좌항이나 우항 하나만 참이여도 전체가 true 둘다 false면 전체가 false

if(true || false){       // 둘중하나가 true이기 때문에 실행됨
	alert(1)
}

 

!  not연산자

boolean의 값을 역전시킨다.

if(!true)           // !가 true 부정을 하기때문에 false. 실행안됨
	alert(1)
}

 

boolean 대체제

숫자 1은 자바스크립트에서는 true 간주한다. (안쓰는게 좋다 그냥 true, false 쓰자)

if(' ') // 비어있는 문자열에 경우 false로 간주
if(undefined) // undefined 경우 false로 간주
if(null) // null 경우 false로 간주
if(NaN) // NaN 경우 false로 간주

 

var a;					// 값이 안정해져서 undefined 즉 false
if(!a){					// !가 false를 부정하고 있어서 true가 됨. 실행됨.
	alert('값이 할당되지 않은 변수');
}

 

반응형

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

반복문  (0) 2019.12.11
조건문  (0) 2019.12.11
주석과 기본적인 문법  (0) 2019.12.10
변수  (0) 2019.12.10
숫자와 문자열  (0) 2019.12.10