관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

자바스크립트 기본 문법 8 - 연산자 알아보기 본문

웹 · 앱 개발/자바스크립트

자바스크립트 기본 문법 8 - 연산자 알아보기

huenuri 2024. 11. 18. 20:43

연산자란 프로그램에서 특정한 동작을 하도록 지시하는 기호이다. 프로그래밍에서 '연산'이란 사칙연산은 물론 문자열과 문자열을 연결하여 새로운 문자열을 만들고 값의 크기를 비교하는 등 여러 가지 동작을 의미한다. 그리고 이러한 연산을 지시하는 기호가 연산자이다.


 

 

 

1. 산술 연산자

연산자의 왼쪽이나 오른쪽에 있는 연산 대상을 '피연산자'라고 하는데, 산술 연산자에서 피연산자는 숫자나 변수가 온다. 앞의 실습에서 나이 계산 프로그램을 만들었다.

currentYear - birthYear + 1

 

이 식에서 currentYear, birthYear, 1이 연산 대상이고 '피연산자'이다. 피연산자를 제외한 더하기 빼기는 연산자이다. 자바스크립트의 산술 연산자는 다음과 같이 정리할 수 있다.

 

 

 

자주 헤깔리는 나누기, 나머지 연산자를 살펴보겠다. 

 

나누기 연산자와 나머지 연산자 비교하기

 

처음에는 undefined가 되어 뭔가 안 되는줄 알았는데 변수를 찍어야 값을 확인할 수 있다.


 

 

변수 뒤에 증가 연산자 붙이기

 

a++는 연산식을 먼저 실행한 후 a에 1을 증가시킨다.


 

 

 

변수 앞에 증가 연산자 붙이기

 

증가, 감소 연산자가 피연산자 뒤에 있을 때는 연산식의 처리를 끝낸 다음에 적용된다. 반대로 피연산자 앞에 있을 때는 연산식을 처리하기 전에 적용된다. 비슷해보이는 연산식이지만 증가, 감소 연산자를 피연산자 앞뒤 어디에 붙이느냐에 따라 큰 차이가 있다.


 

 

 

 

2. 할당 연산자

할당 연산자는 연산자 오른쪽의 실행 결과는 왼쪽 변수에 할당하는 연산자로 대입 연산자라고도 한다. 변수에 값을 할당하거나 연산식의 결과를 변수에 저장할 때 할당 연산자를 사용한다.

자바스크립트에서는 할당 연산자와 산술 연산자를 합쳐 하나의 할당 연산자로 표시할 수 있다.

 


 

 

 

 

3. 연결 연산자

둘 이상의 문자열을 합쳐서 하나의 문자열로 만드는 연산자이다. 연산자 기호로 사칙연산의 더하기 연산자와 똑같은 '+' 기호를 사용한다. 연결 연산자는 문자열끼리 연결한다고 해서 문자열 연산자라고도 한다.

나이 계산 프로그램에서 변수 2개와 문자열 2개를 연결 연산자 '+'로 합치면 하나의 문자열이 출력된다.

 


 

 

 

 

4. 비교 연산자

바교 연산자는 피연산자 2개의 값을 비교해서 참이나 거짓으로 결과를 반환한다. 이 연산자는 주로 두 값을 비교하므로 어떠한 조건을 체크할 때 사용한다. 

 

 

 

==, != 연산자와 ===, !== 연산자 비교

== 연산자와 != 연산자는 피연산자의 자료형을 자동으로 변환해서 비교한다. 아래 식에서 숫자 3과 문자열 "3"을 비교하면 왼쪽의 숫자 3을 문자열로 변환해서 비교한다.

 

 

반면 === 연산자와 !== 연산자는 피연산자의 자료형을 변환하지 않는다. 그래서 아래 식에서 숫자 3과 문자열 "3"의 값과 자료형을 모두 비교하여 결과를 보여 준다.

 

 

프로그램에서 값을 비교할 때는 자료형을 자동으로 변환하지 않기 위해 === 연산자와 !== 연산자를 더 많이 사용한다.


 

 

 

문자열의 비교

비교 연산자는 숫자뿐만 아니라 문자열도 서로 비교할 수 있다. 피연산자가 숫자라면 크기를 비교하기 쉽지만 피연산자가 문자열이라면 문자열에 있는 문자들의 아스키 값을 비교해서 결정한다.


 

 

 

5. 논리 연산자

불리언 연산자라고도 하며 true, false를 처리하는 연산자이다. 즉, true, false 자체가 피연산자인 연산자이다. 논리 연산자는 주로 프로그램에서 조건을 체크할 때 사용한다.


 

 

 

 

학습을 마치고

어제 졸려서 다 하지 못한 내용을 다음날 새벽 1시 45분에 일어나 간단한 일정 정리 후 이어서 공부해보았다. 난 새벽형 인간이라 새벽과 아침에 중요한 공부를 대부분 마치고 오후와 저녁에는 비교적 쉬운 공부를 진행하는 것이 훨씬 더 나은 것 같다.

인사교 수업과 엘리스로는 배울 수 없었던 자료형에 대한 자세한 내용을 책을 통해 알게 되었다.