기본 연산자와 수학


  • 피연산자는 연산자가 연산을 수행 하는 대상 5 * 2에는 왼쪽 피연산자 5와 오른쪽 피연산자 2, 총 두개의 피연산자가 있다. 피연산자는 인수라는 용어로 불림
  • 피연산자를 하나만 받는 연산은 단항 연산자라고 함

let x =1;
x = -x;
consoel.log(x); //-1

  • 두개의 피연산자를 받은 연산자는 이항 연산자라고 함

let a = 3;
let b = 5;
console.log(b - a);

  • 자바 스크립트에서 지원하는 수학 연산자
    • 덧셈 연산자: +
    • 뺄셈 연산자: -
    • 곱셈 연산자: *,
    • 나눗셈 연산자: /,
    • 나머지 연산자: %,
    • 거듭제곱 연산자: **

나머지 연산자 %

  • %는 비율을 나타내는 퍼센트와는 관련이 없다
let a = 20;

console.log(a % 2); //0

거듭제곱 연산자 **

  • a ** b를 평가하면 a를 b번 곱한 값이 반환

let a = 2;
let b = 10;

console.log(a ** 10); //1024

이항 연산자와 '+'와 문자열 연결

  • 이항 연산자 +의 피연산자로 문자열이 전달되면 덧셈 연산자는 덧셈이 아닌 문자열을 합쳐서 반환

let a = "aa";
let b = "CC";

console.log(a + b); //aaCC

console.log(2 + 2 + "1"); //41

  • 연산은 왼쪽에서 부터 오른쪽으로 순차적으로 진행하기 때문에 이런 결과가 발생 두개의 숫자 뒤에 문자열이 오는 경우, 숫자가 먼저 더해지고, 그 후 더해진 숫자와 문자열과의 병합

단항연산자 +와 숫자형으로의 변환

  • 덧셈 연산자 +는 이항 연산자뿐만 아니라 단항 연산자로도 사용 가능
  • 숫자에 단항 덧셈 연산자를 붙이면 이 연산자는 아무런 동작하지 않는다. 단, 피연산자가 숫자가 아닌 경우에는 숫자형으로 변환

console.log(+true); //1
console.log(+""); // 0

연산자 우선 순위

  • 하나의 표현식에 둘 이상의 연산자가 있는 경우, 실행 순서는 연산자의 우선 순위에 따른다.

링크텍스트

우선 순위는 위 링크에서 참고 할 것!


할당 연산자

  • 무언가를 할당할 때 쓰이는 =도 연산자

let x = 2 * 2 + 1;

console.log( x ); // 5

let a = 1;
let b = 2;

let c = 3 - (a = b + 1);

console.log( a ); // 3
console.log( c ); // 0

할당 연산자 체이닝


let a, b, c;

a = b = c = 2 + 2;

console.log( a ); // 4
console.log( b ); // 4
console.log( c ); // 4

복합 할당 연산자

  • 누적 연산 또는 변수에 연산자를 적용하고 그 결과를 같은 변수에 저장해야 하는 경우

let a = 2;
a += 2;
a *= 2;

console.log(a); // 8


증가 감소 연산자

  • 숫자를 하나 늘리거나 줄이는 것으로 자주 사용되는 연산

    • 증가 연산자는 ++는 변수를 1증가 시킴
    • 감소 연산자는 --는 변수를 1감소 시킴

let a = 2;

a++;

console.log(a); //3

let a = 2;

a--;

console.log(a); //1

  • 증가나 감소 연산자는 변수에만 사용가능하고 값에 사용 시 에러 발생

  • ++와-- 연산자는 변수 앞이나 뒤에 올 수 있습니다.

  • a++와 같이 피연산자 뒤에 올 때는, '후위형(postfix form)'이라고 부릅니다.

  • ++a와 같이 피연산자 앞에 올 때는, '전위형(prefix form)'이라고 부릅니다.


  • 전위 연산자
let a = 2;

++a;

console.log(a); //3

  • 후위 연산자
  • counter++에서 counter 증가 시키지만 증가 전의 기존 값을 반환
let counter = 1;
let a = counter++;

console.log(a); //1


다른 연산자 사이의 증가·감소 연산자

  • ++/-- 연산자를 표현식 중간에 사용하는 것도 가능 이때, 증가·감소 연산자의 우선순위는 다른 대부분의 산술 연산자보다 높기 때문에, 평가가 먼저 이뤄짐

let counter = 1;
console.log( 2 * ++counter ); // 4

let counter = 1;
console.log( 2 * counter++ ); // counter++는 '기존'값을 반환하기 때문에 2가 출력됩니다.

비트 연산자

  • 비트 연산자는 인수를 32비트 정수로 변환하여 이진연산을 수행

  • 연산자 목록
    • 비트 AND (&)
    • 비트 OR (|)
    • 비트 XOR (^)
    • 비트 NOT (~)
    • 왼쪽 시프트 (<<)
    • 오른쪽 시프트 (>>)
    • 부호 없는 오른쪽 시프트 (>>>)

쉼표 연산

  • 쉼표 연산자는 코드르 짧게 쓰려는 의도로 자주 사용

let a = (1 + 2, 3 + 4);

console.log(a); // 7 (3 + 4의 결과)

위 내용은 javascript.info 사이트에서 공부한 내용을 정리

profile
개발 옆차기

0개의 댓글