JS 기초-(5) 연산자

김수민·2022년 11월 3일
0

JavaScript

목록 보기
5/27

뭐지

▶일항 연산자

산술 연산자

더하기 +

빼기 -

곱하기 *

나누기 /

나머지 값%

지수(승) ** 또는 ^


증감, 감소 연산자

증감 연산자 ++

감소 연산자 --

전위증감연산자 ++number

더해진 값을 반환한다.

후위증감연산자 number++

더해지기 전의 값을 반환한다.


복합 대입 연산자

+=

a += 1 = a = a+1

-=

a -= 1 = a = a-1


▶이항 연산자

비교 연산자

❗ NaN는 아래 연산자들의 영향을 받지 않는다.
변수 == NaN을 입력하고 싶다면 isNaN(변수)으로 입력하자.

동등 연산자 ==

값이 같을 때 true

"1"== 1 👉 ⭕true
0 == false 👉 ⭕true

일치 연산자 ===

값과 타입이 같을 때 true

1 === 1 👉 ⭕true
"1" === 1 👉 ❌false
0 === false 👉 ❌false

부등 연산자 !=

값이 다를때 true

"1" != 2 👉 ⭕true
1 != false 👉 ⭕true

불일치 연산자 !==

값과 타입이 다를때 true

"1" === 1 👉 ❌false
0 === false 👉 ❌false
1 === false 👉 ⭕true

> , < , >= , <=

> 클때 true
< 작을때 true
>= 크거나 같을 때 true
<= 작거나 같을 때 true

논리 연산자

OR ||

하나라도 참일 때 true

1 > 2 || 1 > 10 👉 ❌false
1 > 2 || 10 == 10 👉 ⭕true

응용

let a= 1 || 0 과 같이 작성할 경우 a의 값은 1이 담긴다.
let b= "" || 0과 같이 작성할 경우 a의 값은 ""이 담긴다.
OR 연산자는 왼쪽에서부터 true인 값을 찾아 값을 변수에 저장한다.
true인 값이 없다면 가장 오른쪽의 값이 담기게 된다.

AND &&

모두 참일 때 true

1 > 2 && 1 > 10 👉 ❌false
1 > 2 && 10 == 10 👉 ❌false
10 > 2 && 10 == 10 👉 ⭕true

응용

let a= 1 && 0과 같이 작성할 경우 a의 값은 0이 담긴다.
let b= 1 && 3과 같이 작성할 경우 a의 값은 3이 담긴다.
AND 연산자는 왼쪽에서부터 false인 값을 찾아 값을 변수에 저장한다.
false인 값이 없다면 가장 오른쪽의 값이 담기게 된다.

NOT !

결과가 참이면 false 거짓이면 true

"1"== 1 👉 ❌false
10 > 2 && 10 == 10 👉 ❌false

NOT ! 응용

숫자0, 빈 문자열 "", null, undefined, NaN = false
공백 " "을 포함한 나머지들 = true<

변수가 !와 함께 쓰이면 데이터 타입이 boolean으로 변환된다.(*암묵적 변환)

아무것도 입력하지 않았을 때의 변수값 = "" = false
입력했을 때의 변수값 = 입력한 값 = true

아무것도 입력하지 않았을 때 + !변수 = true
요약👉 if(!변수){실행문;} = 아무것도 입력하지 않았을 때 실행문 실행

NOT !! 응용

NOT을 두번 작성하면 boolean형으로 작성된다.


▶삼항 연산자

 표현식 ? 반환값1 : 반환값2 ;
	let userName = "A";
	let userAge = userName=="A" ? 30:20;
	console.log(result);

👉 userAge = 30;

앞의 표현식이 true라면 userAge에 반환값 30을 출력하고
false라면 반환값 20를 출력한다.

	let userAge2 = 25;
	let userName2 = 20<userAge2 && userAge2<30 ? A: B;
	console.log(result);

👉 userName2 = A;

❗ 20<userAge<30 과 같이 다중조건을 부합하고 싶을 때에는 &&로 조건 사이를 묶어주어야한다.


응용

	let num = prompt("숫자를 입력해주세요");
	if(isNaN(Number(num)) || !num ){
		alert("숫자를 입력하세요.")
	}else if(num%2 != 0){
		document.write("홀수입니다.")
	}else{
		document.write("짝수입니다.")
	}

입력한 숫자가 홀수라면 "홀수입니다." 짝수라면 "짝수입니다."라는 문구를 출력한다.
숫자가 아니라면 "숫자를 입력하세요."라는 경고창이 뜬다.

	if //만약에,
		(isNaN(Number(num)) //= 함수 num을 숫자로 변환 했을 때 값이 NaN 이라면 *구문A
		|| //= 또는
		!num)  //=값이 false 라면,
		 // (값이 false인 경우 = 숫자 0, 빈 문자열 "", null, undefined, NaN)
        { alert("숫자를 입력하세요.") //= "숫자를 입력하세요"라는 문구의 경고창을 띄운다.
        }
        
	else if //= 위 *구문A가 충족하지 않는다면, 만약에
		(num%2 != 0) //= 함수 num을 2로 나눴을 때의 나머지가 0이 아니라면 *구문B
		{ document.write("홀수입니다.") //= "홀수입니다." 라는 문구를 document에 작성한다.
        }
            
	else //= 위 *구문A와 *구문B가 충족하지 않는다면
        { document.write("짝수입니다.") //= "짝수입니다." 라는 문구를 document에 작성한다.
        } 
profile
sumin0gig

0개의 댓글