<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// operator(연산자)
// 이항산술연산(2개의 항을 연산, 총 5개) : + - * / %
let a = "동해물과";
let b = "백두산이";
console.log(a+b);
let a1 = 123;
let b1 = "123";
console.log(a1+b1); // 암시적 형변환
// 단항산술연산자(증가/감소연산자)
// ++ --
let c = 100;
c++; // 1을 증가시킨다
console.log(c);
// 후위연산자, 전위연산자
console.log(c++) // 후위연산자 (1이 증가하지 않음)
console.log(++c) // 전위연산자 (1이 증가함)
// 대입연산자(할당연산자)
// += -= *= /= %=
let d = 100;
d += 1
// d = d + 1
// d++
console.log(d);
// 동등/일치연산자(true, false 값이 리턴됨)
// = : 할당하다
// == : 값이 같다(숫자123 과 문자열123은 true값이 나옴)
// ==== : 값과 데이터의 형태까지 모두 같다(더 엄격한 비교, 이걸 더 많이 사용)
// ! : 부정을 의미
// != : 값이 다르다
// !== : 값과 데이터의 형태까지 모두 다르다
let e = 123;
let f = "123";
console.log(e == f); // true 값이 리턴됨
console.log(e === f); // false 값이 리턴됨
console.log(e !== f); // true 값이 리텀됨
// 대소비교연산자(2항 비교만!)
// > < >= <=
let g = 200;
let h = 300;
let i = 400;
console.log(g > h); // false 값이 리턴됨
// 논리연산자(3항 비교 가능)
// ~이거나, ~또는 : 논리1 || 논리2 (둘 중 하나만 참이라도 참)
// ~이면서, ~이고 : 논리1 && 논리2 (모두 참이여야 참)
console.log(g<h && h<i); // true 값이 리턴됨
let ex1 = 100;
let ex2 = 200;
</script>
</body>
</html>