Frontend/JavaScript

[JavaScript] 02. 연산

JOKUN 2022. 5. 18. 15:37

 

교재 : 비전공자를 위한 프로그래밍 입문 - 02. 연산

산술 연산자

연산자(operator) : 값의 연산을 위해 사용되는 부호

 

사칙연산자 : 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)

계산 순서(우선 순위)는 산수와 같다. 따로 괄호로 묶어주면 우선도가 높아진다.

 

사칙연산자 외에 나머지(%), 지수(**, 거듭제곱) 등의 연산자도 있다.

 

 

[예제]

콘솔(console)창에서 값을 확인해보려고 'console.log(출력할 값)'을 따로 넣었음

let x, y, z;

function setup() {
  noLoop();
}

function draw() {
  x = 5 + 10;
  console.log(x);  // 15, 콘솔에 표시됨 

  y = -x + 5;
  console.log(y);  // -10, 콘솔에 표시됨 

  z = 50 + y * 2;
  console.log(z);  // 30, 콘솔에 표시됨 

  y = z / (x - 10);
  console.log(y);  // 6, 콘솔에 표시됨 
}
let x = 15, y;

y = x % 4;  // 15 % 4 = 3의 나머지 3 -> 3
console.log(y);

x = y ** 2;  // y ** 2 = 3의 거듭제곱 -> 9
console.log(x);

* 구분이 쉽도록 이항연산자 전후에는 공백을 넣고, 단항연산자 뒤에는 공백을 넣지 않음. (원래 상관없음)

이항,단항 관련 설명은 하단에!

 

 

 


 

대입 연산자

'변수' 값에 연산을 한 값을 '변수'에 대입한다.

 'x += 5'와 x = x + 5'는 같은 뜻.

 

 

[예제]

let x = 10; //변수는 10으로 정의
x = x + 5;  // 정의된 x값과 5를 더한 값 15가 다시 변수 x의 값이 됨

 

let x = 10;

function setup() {
  noLoop();
}

function draw() {
  x += 5;    // 변수x를 5만큼 더함 
  console.log(x);  // 15

  x -= 10;   // 변수x를 10만큼 뻄
  console.log(x);  // 5

  x *= 2;    // 변수x를 2 곱함 
  console.log(x);  // 10

  x /= 4;    // 변수x에 1/4나눔 
  console.log(x);  // 2.5
}

 


 

증가 / 감소

값을 1씩 증가시키고, 1씩 감소시키는 것.

프로그래밍할때 자주쓰기 때문에 'x += 1'로 쓸 수 있는 값을 더 간소화 시킨 것.

 

변수 x 값에 대하여

'++x(전치)' or 'x++(후치)' : 값이 1씩 증가한다.

'--x(전치)' or 'x--(후치)' : 값이 1씩 감소한다.

 

[예제]

x = 5;
y = ++x + 5;  // 전치: x는 6, y는 11
x = 5;
y = x++ + 5;  // 후치: x는 6, y는 10

 


 

 

문자열 연산

문자열(string)도 값으로서 사용이 가능.

프로그래밍 언어에서 문자열은 " " or ' '로 묶는다.

 

문자열과 문자열 사이의 +(덧셈)문자열의 연결로 처리된다.

문자열 + 숫자도 연결할 수 있는데, 이 경우 숫자가 문자열로 자동 변환 된다.

 

[예제]

const S1 = 'Hello', S2 = 'World';  // 문자열 상수
let s;

function setup() {
  noLoop();
}

function draw() {
  s3 = S1 + ' ' + S2;
  console.log(s3);  // Hello World
}
let x = 100;
x += '만원만 주세요!';
console.log(x);   // 100만원만 주세요!

 

주의! 문자열로 선언한 '숫자'와 숫자를 연결하면 덧셈이 되는게아니라 나열된다.

[예제] x + 1 의 값이 11이 아닌 101로 나타난다.

let x = '10';
console.log(x + 1); // 101

 

문자열로 선언한 숫자를 수치로 계산하고 싶을때는 수치로 변환하는 함수를 사용한다.

[예제] parseInt함수 또는 parseFloat함수를 사용

let x = '10';
print(parseInt(x) + 1);  // 11

 

 


단항 연산자와 이항 연산자

입문이니까 자주 등장하는 것들만 간단하게 정리함

 

단항 연산자 : 한 개의 피연산자를 갖는 연산자 

연산자 종류 연산자 피연산자 수
부호 연산자 +(양수), -(음수) 단항
증감 연산자 ++(1씩 증가), --(1씩 감소) 단항

…등

 

이항 연산자 : 두 개 항 사이의 연산을 정의 (좌우에 항이 놓여짐) 

연산자 종류 연산자 피연산자 수
산술 연산자 +(더하기), -(빼기), *(곱하기), /(나누기), %(모듈) 이항
대입 or 복합대입 연산자 =, +=, -+, *=, /=, %=, &=, |=, ^=, 등 이항
비교 연산자 ==, !==, >, <, >=, <= 등 이항

…등