입문자를 위한 js 숫자형과 연산자(3)

숫자형과 연산자

이번에는 숫자형과 연산자에 대해서 알아보겠습니다.

1. 숫자형

숫자형숫자들을 의미 합니다.

정수형소수들도 숫자형에 포함이 됩니다.

const number1 = 123456 // 123456

const number2 = '123456' // "123456"

const number3 = 3.14 // 3.14

3개중에 2가지만 숫자형 입니다.

제일 처음 number1 변수는 선언과 동시에 값을 123456초기화 해주었습니다 이것은 숫자형 입니다.

두번째 number2 변수는 선언과 동시에 값을 123456로 초기화 해주었지만, 이것은 문자형 입니다.

여기서 123456문자형으로 취급 됩니다 이유는 세번째를 설명하고 하겠습니다.

세번째 number3 변수는 선언과 동시에 소수인 3.14를 초기화 해주었습니다 이것은 숫자형 입니다.

여기서 숫자형인 두개의 변수 number1number3가 있습니다.

또한 문자형인 한가지 변수 number2가 있죠.

여기서 차이점은 숫자형으로 초기화 해주기 위해서는 큰따옴표(” “)작은따옴표(’ ‘)

감싸지 않아야 하고, 숫자여야 합니다.


2. 연산자와 숫자형 다루기

숫자형은 값을 더하기도 하고 빼기도 하고 나누기도 하고 곱하기도 합니다.

사칙연산으로 계산을 한다는 소리죠.

그러기 때문에 계산할때 우선순위가 상당히 중요 합니다.

하지만 우리는 이런 사실은 알고 있지만 연산자에 대해서 잘 모를수도 있습니다.

이번에는 연산자를 사용하여 숫자형을 다뤄보도록 하겠습니다.

할당

우리는 살면서 수학을 할때 =는 같다는 표시로 인식을 했습니다.

하지만 프로그래밍에서는 다릅니다.

이것은 할당을 한다는 의미이고 같다는 것과 전혀 다릅니다.

앞서 배운 변수 부분으로 설명 하겠습니다.

let num1 = 123
//이런식으로 num에 123을 값으로 할당 합니다.

console.log(num1) //123

num = 456
console.log(num1) //456

const num2 = num1

num1 = 789

console.log(num2) // 456
console.log(num1) // 789

처음 num1변수를 선언과 동시에 123으로 값을 할당 해주고,

num1 변수에 값을 456으로 할당 해주었습니다.

그리고 새로운 변수 num2의 값을 num1이 가지고 있는 값을 할당 해주었습니다.

그리고 변수 num1 의 값을 789로 재 할당 해주었습니다.

마지막 console.log( ) 부분을 보시면, 변수 num2 가 가지고 있는 값은 456이고,

변수 num1이 가지고 있는 값은 789 입니다.

숫자열 변수를 다른 변수에 할당 했을때 값을 복사 한다고 보시면 됩니다.

해당 변수참조하는것이 아닙니다.

값을 참조 하는것은 나중에 배우게 됩니다.


증가

++은 증가 입니다. 1씩 증가 한다는 뜻입니다.

여기서 ++ 을 뒤에 붙이거나 앞에 붙이는것에 차이점이 있을까요?

let num1 = 1
let num2 = num1++

console.log("num1 : "+ num1,"num2 : "+ num2) // num1 : 2 num2 : 1
let num1 = 1
let num2 = ++num1

console.log("num1 : "+ num1,"num2 : "+ num2) // num1 : 2 num2 : 2

후위 증가을 하게 된다면, num1 은 1 증가 되고 증가하기 전의 값을 반환을 하게 됩니다.

접두사 증가을 하게 된다면 num1 은 1 증가 되고 증가하고 증가한 후의 값을 반환을 하게 됩니다

감소

는 감소를 의미 합니다. 1씩 감소한다는 의미 입니다.

도 증가와 같이 앞에 붙이는것과 뒤에 붙이는것에는 차이점이 있습니다.

let num1 = 1
let num2 = num1--

console.log("num1 : "+ num1,"num2 : "+ num2) // num1 : 0 num2 : 1
let num1 = 1
let num2 = --num1

console.log("num1 : "+ num1,"num2 : "+ num2) // num1 : 0 num2 : 0

후위 감소을 하게 된다면, num1 은 1 감소 되고 감소하기 전의 값을 반환을 하게 됩니다.

접두사 감소을 하게 된다면 num1 은 1 감소 되고 감소하고 감소한 후의 값을 반환을 하게 됩니다.


연산과 복합할당연산자

/*
연산자 기호

+ 더하기
- 빼기
* 곱하기
/ 나누기
% 나머지
** 거듭제곱
------------------------------
복합 할당 연산자
연산자=

ex) += , -= , *= , /= , %= , **=

*/

let num1 = 5
let num2 = 8

console.log(num1 + num2) // 13

console.log(num1) // 5

console.log(num1 += num2) // 13

console.log(num1) // 13

예제를 간단하게 써놨는데 보시면 이해가 가실까요?

여기서 보시면 처음 console.log(num1 + num2) 을 보시면 연산을 하고 값은 13이 나오고,

console.log(num1) 변수 num1 의 값은 처음 할당한 5가 나오는걸 확인 할수있습니다.

console.log(num1 += num2) 복합 할당 연산자를 사용했을 경우 입니다.
값은 위와 동일 하게 13이 나오는걸 확인을 할수가 있지만, console.log(num1) 로 변수 num1
값을 확인 했을때는 연산했을때의 값인 13이 나오는걸 확인 하실수있습니다.

이렇게 나오는 이유는 첫번째의 명령은 연산한 결과가 나온것이고,
두번째 명령으로는 연산과 동시에 할당을 한 경우이기 때문 입니다.

만약 변수가 let이 아닌 const로 사용을 하게 된다면

이렇게 오류가 나오게 됩니다.

그러니 복합 할당 연산자를 사용 할때는 변수를 let 이나 var로 사용 해야 되니, 주의 해서 사용 하시기 바랍니다.

좋은 웹페이지 즐겨찾기