간단하게 JS 연산자에 대해 알아보도록 하자.
연산자 : JS에서 필요한 연산들을 제공하는 값들
var a = 10, b =5;
var c = 3, d= 4;
console.log(a+b);
console.log(a-b);
console.log(a*b);
console.log(a/b);
console.log(a%b);
console.log(3*(d+b));
다른 말로 할당 연산자라고도 함 : =, +=, -=,
대입연산자의 목적 : 값을 누적하기 위해
var w = 10; x = 10, y =20;
z = w-5;
y -= w; // 좌항 y에 우항 w의 값을 -한 후 그 결과값을 좌항에 대입
console.log(z); //결과값 : 5
console.log(y); //결과값 : 10
w+=y;
console.log(w); //결과값 : 20
w*=y;
y/=x;
console.log(w); //결과값 : 200
console.log(y); //결과값 : 1
++,--, +,-
var inc = 20;
var dec = 10,result;
//선대입 후증가(후위 연산)
result = inc++;
console.log(result, inc); //결과값 : 20, 21
//선증가 후대입 (전위 연산)
result= ++inc;
console.log(result, inc); //결과값 : 22, 22
//선대입 후감소
result = inc--;
console.log(result, inc)//결과값 : 22, 21
==,===, !=, !==, >, >=, <, <=
x==y : 동등비교(동등연산자) -> 좌 우항의 값이 같음
x===y : 일치비교(일치연산자) -> 좌 우항의 값과 타입이 같음
x!=y : 부등비교(부동연산자) -> 좌 우항의 값이 다름.
x!==y : 불일치비교(불일치연산자) -> 좌 우항의 값과 타입이 다름
x>y : 좌항이 우항보다 크면(초과) T
x>=y : 좌항이 후항보다 크거나 같으면(이상) T
x<y : 좌항이 우항보다 작으면(우항이 좌항보다 크면)T
x<=y : 좌항이 우항보다 작거나 같으면(우항이 좌항보다 크거나 같으면)T
이상, 이하, 미만, 초과
동등비교와 일치비교를 헷갈리지 말자
console.log(10=='10'); //T
console.log(10==='10'); //F
console.log(10!=10); //오히려 같으니 false
console.log(10!==10); // 둘중 하나라도 다르면 T
|| (OR), &&(AND), !(NOT)
x y (+) OR
(OR은 두항이 있다 가정했을때 둘중 하나라도 TRUE라면 무조건 트루)
0 0 0 -> 거짓 + 거짓 = 거짓
0 1 1 -> 거짓 + 진실 = 진실
1 0 1 -> 진실 + 거짓 = 진실
1 1 1 -> 진실 + 진실 = 진실
=================================================================
x y (*) AND
AND는 두항이 있다 가정할때 둘중 하나라도 False라면
무조건 False 출력
0 0 0 -> 거짓 + 거짓 = 거짓
0 1 1 -> 거짓 + 진실 = 거짓
1 0 1 -> 진실 + 거짓 = 거짓
1 1 1 -> 진실 + 진실 = 진실
=================================================================
! = NOT(부정 = 청개구리)
console.log(!true); //결과값 : false;
제어문 : 프로그램의 순차적 흐름을 제어할때 사용하는 실행문
주어진 조건에따라 코드를 실행하거나 반복할때 사용하는 문법
블록라인(블록문)
블록라인은 아래와 같이 단독사용도 가능하지만,
{ var a = 100; console.log(a); }
일반적으로는
제어문들이나 함수 선언 및 객체에 속성을 선언시 사용.
블록라인 뒤에는 세미콜론을 붙이지 않는다.
삼항연산자
피연산자(좌,우항 + 1개의 항)를 세개나 가지는 조건연산자
//삼항연산자 실습
// var result = 표현식 ? 표현식이 참일때 값 : 표현식이 거짓일때 값
var a =10;
var b = 20;
var result = (a>b) ? "ㅋㅋㅋㅋ":"거짓";
alert(result); //결과값 : "거짓"
결과값은 10>20 거짓이기 때문에 result의 값은 "거짓"이 출력된다.
//삼항연산자 실습2
// 미성년자 검출 조건 19초과
var age = 20;
var result2 = (age>19) ? "성인입니다":"급식입니다";
document.write(result2);
간단하게 미성년자 를 검출해내는 삼항연산자 예제이다.
변수 age에 내가 원하는 숫자를 입력하고 싶다면.
var age = prompt();를 사용해보자.
예제 1과 마친가지로 변수 age의 19이상으로 참이기 때문에
결과값은 "성인입니다"가 출력된다.
//삼항연산자 실습3
//삼항 연산자를 이용하여 웹페이지에서 숫자를 입력받아
// 그 숫자가 짝수인지 홀수인지 판별하고
// 짝수라면 콘솔에 짝수입니다. 라는 메세지를 출력하고
// 홀수라면 콘솔에 홀수입니다. 라는 메세지를 출력
var num = prompt("100 이내 숫자를 입력하면 홀,짝수를 구분");
if(!(num>100)){
var whatnum = (!(num%2==0)) ? "홀수입니다":"짝수입니다";
console.log(whatnum);
}else{
console.log("다시 입력하세요")
}
삼항연산자 예제는 거의다 비슷함. 이번 예제는 if,else 조건문과
동등연산자를 사용하여 값을 비교하고 홀수,짝수를 걸러내는 예제이다.
변수 num에 내가 원하는 값을 입력하고 입력값이 100보다 작으면 if문안에
조건문이 실행된다.
(num>100)인데 왜 100보다 작으면? 이냐고 물어본다면 !(NOT)을 사용하여
반대로 바꿔줬다고 생각하면 된다.
3번 행에서 내가 입력한 값의 나머지 값이 0이 나온다면 짝수,
1이 나온다면 홀수가 "what num"이라는 변수가 출력 해 줄 것이다.