갈푸라떼
갈푸라떼는 개발중
갈푸라떼
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • CS (0)
      • CSinfo (0)
    • Frontend (15)
      • HTML,CSS (1)
      • Javascript (2)
      • React (0)
      • React Hook (12)
    • Backend (0)
      • Python (0)
      • Node.js (0)
      • php (0)
    • DB (2)
      • MySQL (2)
      • BigQuery (0)
      • Mongodb (0)
    • Study (186)
      • JavaScript (72)
      • JavaScript(Clean code) (50)
      • Node.js (11)
      • HTML,CSS (13)
      • React (30)
      • TypeScript (10)
      • React-Native (0)
    • Error (2)
      • error (2)
    • Git (22)
      • Git (22)
    • Help Coding (4)
      • Useful websites (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • Github

공지사항

인기 글

태그

  • 호이스팅
  • 스코프 체인
  • 함수
  • prototype
  • 실행 컨텍스트
  • 자바스크립트엔진
  • symbol
  • 렉시컬 환경
  • 이터러블
  • 컴파일러
  • function
  • 네이밍
  • 심볼
  • 싱글스레드
  • structure
  • 정적 레벨
  • Babel
  • SPREAD
  • this
  • nodemon
  • PM2
  • 객체타입
  • 오버라이딩
  • 프로토타입
  • 상속
  • 원시타입
  • ECMAScript
  • 인터프리터
  • class
  • Arrow

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갈푸라떼

갈푸라떼는 개발중

Study/JavaScript

[JavaScript_study] 연산자에 대해서

2022. 4. 10. 19:47

* 산술 연산자 (Arithmetic operators)

  > + 더하기

  > - 빼기

  > * 곱하기

  > / 나누기

  > % 나머지 값

  > ** 지수 (거듭제곱)

 

console.log(5 + 2);
console.log(5 - 2);
console.log(5 * 2);
console.log(5 / 2);
console.log(5 % 2);
console.log(5 ** 2); // es7
console.log(Math.pow(5, 2));

// + 연산자 주의점!
let text = '두개의' + '문자를';
console.log(text);
text = '1' + 1; // 숫자와 문자열을 더하면 문자열로 변환됨
console.log(text);

 

* 단항 연산자 (Unary operators)

  > + (양)

  > - (음)

  > ! (부정)

 

let a = 5;
a = -a; // -1 * 5
console.log(a); // -5
a = -a;
console.log(a); // 5 (마이너스 * 마이너스 = 플러스)

a = +a;
console.log(a);

a = -a; // -5
a = +a; // +(-5)
console.log(a);

let boolean = true;
console.log(boolean);
console.log(!boolean);
console.log(!!boolean);

// + 숫자가 아닌 타입들을 숫자로 변환하면 어떤값이 나오는지 확인할 수 있음
console.clear();
console.log(+false); // 0
console.log(+null); // 0
console.log(+''); // 0
console.log(+true); // 1
console.log(+'text'); // NaN
console.log(+undefined); // NaN

console.log(!!1); 
// ! 부정연산자
// !! 값을 boolean 타입으로 변환함

 

* 할당연산자 (Assignment operators)

let a = 1;
a = a + 2;
console.log(a);

a += 2; // a = a + 2; 축약버전
console.log(a);

a -= 2;
console.log(a);

a *= 2;
console.log(a);

a /= 2;
a %= 2;
a **= 2;

 

* 증가 & 감소 연산자 Increment & Decrement Operators

let a = 0;
console.log(a);
a++; // a = a + 1;
console.log(a);
a--; // a = a - 1;
console.log(a);

console.clear();
// 주의!
// a++ 필요한 연산을 하고, 그 뒤 값을 증가시킴
// ex) console창에 값을 출력시켜주고 그 뒤에 값을 증가시킴
// ++a 값을 먼저 증가하고, 필요한 연산을 함
// ex) 값을 증가시켜주고 console에 값을 출력함
a = 0;
console.log(a++);
console.log(a);
let b = a++;
console.log(b);
console.log(a);

 

* 대소 관계 비교 연산자 (Relational operators)

// > 크다
// < 작다
// >= 크거나 같다
// <= 작거나 같다
console.log(2 > 3);
console.log(2 < 3);
console.log(3 < 2);
console.log(3 > 2);
console.log(3 <= 2);
console.log(3 <= 3);
console.log(3 >= 3);
console.log(3 >= 2);

 

* 동등 비교 관계 연산자 (Equality operators)

// == 값이 같음
// != 값이 다름
// === 값과 타입이 둘다 같음
// !== 값과 타입이 다름

console.log(2 == 2); // true
console.log(2 != 2); // false
console.log(2 != 3); // true
console.log(2 == 3); // false
console.log(2 == '2'); // true
console.log(2 === '2'); // false✨
console.log(true == 1); // true
console.log(true === 1); // false
console.log(false == 0); // true
console.log(false === 0); // false

const obj1 = {
  name: 'js',
};
const obj2 = {
  name: 'js',
};

console.log(obj1 == obj2); // false
console.log(obj1 === obj2); // false
console.log(obj1.name == obj2.name); // true
console.log(obj1.name === obj2.name); // true

let obj3 = obj2;
console.log(obj3 == obj2); // true
console.log(obj3 === obj2); // true

 

* 논리 연산자 (Logical operator)

// && 그리고
// || 또는
// ! 부정(단항연산자에서 온것)
// !! 불리언값으로 변환 (단항연산자 응용버전)
let num = 8;
if (num >= 0 || num > 20) {
  console.log('👍');
}
if (num != 9) {
  console.log('🙏');
}

console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false

console.log(true || true); // true
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false

console.log(!'text');
console.log(!!'text');

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

[JavaScript_study] 반복문(for, while)  (0) 2022.04.10
[JavaScript_study] 조건문 (if, switch)  (0) 2022.04.10
[JavaScript_study] 값으로 평가될 수 있는 것들  (0) 2022.04.10
[JavaScript_study] 값과 참조의 차이  (0) 2022.04.10
[JavaScript_study] 객체 타입(object)  (0) 2022.04.10
    'Study/JavaScript' 카테고리의 다른 글
    • [JavaScript_study] 반복문(for, while)
    • [JavaScript_study] 조건문 (if, switch)
    • [JavaScript_study] 값으로 평가될 수 있는 것들
    • [JavaScript_study] 값과 참조의 차이
    갈푸라떼
    갈푸라떼

    티스토리툴바