본문 바로가기

Programming/javascript (JS)

JS(8) 산술연산자

산술 : 계산을 하는.

연산자operator : 계산하라는 신호.

 

--사칙연산--

>var a=5, b=3;

<undefined

>a+b;

<8

>a-b;

<2

>a+3;

<8

>5+3;

<8

>a*b;

<15

>a/b;

<1.666666666667

>a%b;  //나머지 연산자 %를 이용하면 a를 b로 나눈 나머지를 알 수 있음.

<2

=이 연산자들은 바이너리 오퍼레이터, 즉 이항연산 : 두 개의 피연산자를 가지는 연산자.

가령, a+b에서 a와 b가 피연산자. 연산자는 피연산자를 입력받으면 연산하여 결과를 낸다.


반면, 단항연산자.

+, -가 대표적. 변수a가 있을 때 -a;와 같이 작성할 수 있고 -5가 출력됨.

이 때 -(마이너스)는 빼는 개념의 이항연산자가 아닌, 단항연산자로 사용됨.

피연산자는 a 하나.


변수에 사용할 수 있는 증감연산자.

++ (변수의 값을 증가시키는 연산자)
-- (변수의 값을 감소시키는 연산자)

이 연산자들은 변수의 값을 수식 안에서 사용할 수도 있고, 변수의 값을 업데이트 한다

>var a=1;

<undefined

>console.log(a);

<1

>console.log(a+1);

2

>console.log(a);

>1  //바로 위의 a+1에 영향을 받지 않고 맨 처음 선언했던 a=1 값을 그대로 출력한다.

 

//하지만 (a+1) 대신에 (++a)을 쓰게되면,

>console.log(++a);   //++a의 의미는 a=a+1

<2

>console.log(a);

<2   // ++a 연산자가 실행되면 그 다음 console.log(a)의 값도 그 앞의 ++a로 인해 2로 갱신된다.

 

++혹은 --의 위치는 변수 앞, 뒤에 올 수 있고, 이 위치에 따라 결과값도 달라진다.

>console.log(a);  //이 명령이 먼저 실행되고

<1

>console.log(a++);  //a+1 명령이 그다음에 실행된다.

<1

>console.log(a);

<2

 


JS에서 활용할 수 있는 여러 수학적 상수 및 함수들이 Math 객체에 정의가 되어있다.

대표적으로 power함수 / square root함수

>Math.pow(2,3);  //2의 3승

<8

>Math.sqrt(16);  //제곱근 함수

<4

>Math.random();  //아무런 인자를 받지 않는 이 함수는 호출 시,

<0.13758284528  //0에서 1사이의 난수(임의의 숫자)를 반환.

random은 활용도가 높음!! 다양한 랜덤효과를 프로그램에 가미할 수 있다.