JavaScript | 연산자

yuni·2022년 9월 20일
0

javascript

목록 보기
3/16
post-thumbnail

❔ 연산자(Operators) ❔

다양한 연산자가 존재한다. 우리가 어떤 연산자를 어떤 상황에 맞춰서 써야되는지 알아보자!

▶ 산술 연산자(Arithmetic Operators)

  • 두 개의 값을 가지고 연산하는 연산자
  • +(더하기), -(빼기), *(곱하기), /(나누기), %(나머지값), **(지수_거듭제곱)
// + : 더하기
console.log(1 + 2);   //3

// - : 빼기
console.log(3 - 6);   //-3

// * : 곱하기
console.log(3 * 5);   //15

// / : 나누기
console.log(10 / 2);  //5

// % : 나머지값
console.log(7 % 5);   //2

// ** : 지수(거듭제곱)
console.log(2 ** 3)   //8

▶ 할당 연산자(Assignment Operators)

//할당연산자
let a = 2;

// a = a + 1; //3
a += 1; //3

console.log(a);

▶ 단항 연산자(Unary Operators)

  • 논리 부정 연산자(LogicalNegation) : !
// + : 양수
// - : 음수

let a = 2;
a = -a;  //-1 * 2
console.log(a);  //-2
console.log(-a);  //2

a = -a;  //-2
a = +a;  //+(-2)이기때문 -2

// ! : 부정
let happy = true;
console.log(happy);  //true
console.log(!happy); //false
console.log(!!happy); //true
//!! :  값을 boolean타입으로 변환

▶ 증감 연산자(Increment & Decrement Operators)

  • ++ : 값을 1씩 증가
  • -- : 값을 1씩 감소
  • 값(증감연산자): 후위 연산자 → 선처리 후증감
  • (증감연산자)값 : 전위 연산자 → 선증감 후처리
//증감 연산자
let a = 0;
a++; // a = a+1;이기때문에 1
a--; // a=1에서 --연산자사용 => 0

// a++ vs ++a

// a++ : 후위 연산자
a = 0;
let b = a++
console.log(b); //0
console.log(a); //1

//++a : 전위 연산자
a = 0;
let b = ++a
console.log(b); //1
console.log(a); //1

▶ 비교(관계) 연산자(Relational Operators)

  • 특정한 값이 같은지 다른지 서로 비교하는 연산자
  • 항상 논리 값(true, false)이 결과 값 => 비교한 값이 참이면 true, 거짓이면 false
  • > : 크다
  • < : 작다
  • >= : 크거나 같다
  • <= : 작거나 같다
//비교연산자
console.log(2 > 4); //false
console.log(2 < 4); //true
console.log(2 >= 4); //false
console.log(2 <= 4); //true

▶ 동등 비교 관계 연산자(Equality Operators)

  • == : 값이 같다
  • != : 값이 다르다
  • === : 값과 타입(자료형)까지 같다
  • !== : 값과 타입이 다르다
console.log(3 == 3); //true
console.log(3 == 2); //false
console.log(3 != 3); //false
console.log(3 != 1); //true
console.log(3 == '3'); //true 값은 같음
console.log(3 === '3'); //false 타입이 다름

function isEqual(x, y) {
  return x === y;
}

console.log(isEqual(1, 1));  //true

const man1 = {
	name: 'Kim',
}
const man2 = {
	name: 'Kim',
}
console.log(man1 == man2); //false -> 메모리주소가 다름
console.log(man1.name == man2.name); //true
console.log(man1.name === man2.name); //true

▶ 논리 연산자(Logical Operators)

  • 논리 값 두 개를 비교하는 연산자
  • && : 그리고 , and (1개라도 false면 false)
  • || : 또는 , or
  • ! : 부정
  • !! : 불리언 값으로 변환
const a = 1 === 1;
const b = "ab" === "aa";
const c = true;

console.log(a); //true
console.log(b); //false
console.log(c); //true

console.log("&&: ", a && b && c);  //&&: false
console.log("||: ", a || b || c); //||: true
console.log("!: ", !a); //!: false 

참고 및 출처
JavaScript 참고서(표현식 및 연산자)- MDN
연산자(Operator) - sue

profile
˗ˋˏϟˎˊ˗ 개발 지식 쌓기

0개의 댓글