본문 바로가기
JavaScript

JavaScript 2일차 정리 [ 상수,연산자 -1- ]

by 유서담 2023. 9. 3.

상수

 

상수 : 변하지 않는 값

const : JavaScript에서 상수를 저장하는 예약어. 

const PI = 3.14;
// 식별자를 대문자로 적는다

 

JavaScript의 연산자

 

산술 연산자의 종류

덧셈 +
뺄셈 -
곱셈 *
나눗셈 /
나머지 %
// 산술연산자
let num1 = 10;
let num2 = 20;

let result1 = num1 + num2; // (숫자 + 숫자) --> 덧셈 연산자로 동작
console.log(result); // 30이 출력

// ( 문자 + 문자) --> 문자열 연결하기로 동작
console.log("a" + "b");	// ab가 출력
// ( 문자 + 숫자) --> 문자열 연결하기로 동작
console.log("a" + 123);	// a123가 출력
// ( 숫자 + 문자) --> 문자열 연결하기로 동작
console.log(123 + "a");	// 123a가 출력
console.log(2 + 2 + "a"); // 4a가 출력
console.log(2 + 2 + "a" + 2 + 2);	// 4a22가 출력이 된다

 

덧셈 연산자를 제외한 뺄셈, 곱셈, 나눗셈, 나머지 연산자는

좌항이나 우항에 숫자가 아닌 값이 있어도 해당 연산을 실행한다.

해당 연산을 실행하기 전에 숫자가 아닌 값은 숫자로 변환을 한다

console.log("1" - 2);	// -1 출력
console.log("2" * 2);	// 4 출력
console.log("100" / 2);	// 50 출력
console.log("7" % 3);	// 1 출력

 

숫자로 변환할 수 없는 값으로 연산하면 연산의 결과는 항상 NaN이다.

NaN은 Not a Number를 나타내는 예약어이다.

console.log("ABCD" - 10);	// NaN

 

실수값에 대한 산수에 대한 예시

let num = 0.1;
let num2 = 0.2;

// 실수값에 대한 산술 연산의 결과는 실제로 변수에 저장된 값과 차이가 발생할 수 있다
// 프로그램에서 실수를 저장할 때, 그 실수값에 대한 근사값으로 저장하기 때문

let num3 = num + num2;
console.log(num3);

// 실수값이 포함되어 있을 때는 소수점부를 없앨 수 있을만큼의 10의 배수를 곱하고
// 계산결과를 다시 10의 배수로 나눈다.

let num4 = (num*10 + num2*10)/10;
console.log(num4);

위 코드에 대한 출력값.

 

복합 대입연산자의 종류

+= 좌항에 있는 값을 우항에 있는 값에 더한다
-= 좌항에 있는 값을 우항에 있는 값을 뺀다
*= 좌항에 있는 값을 우항에 있는 값을 곱한다
/= 좌항에 있는 값을 우항에 있는 값을 나눈다
%= 좌항에 있는 값을 우항에 있는 값에 대한 나머지값을 구한다

 

let num1 = 10;
num1 += 5;
console.log(num1);

num1 += 5;
console.log(num1);

num1 += 5;
console.log(num1);

위 코드에 대한 출력값

 

대입연산자를 사용할때 변수 생성 후 초기화 하지 않았을 때의 과정 및 결과값

변수 초기화의 중요성

 

배열에 저장한 값을 대입연산자로 계산하는 과정 및 결과 

배열에 저장되어 있는 값을 대입연산자을 통해서 계산했다.

 

증감연산자의 종류

++ 변수의 값을 1 증가시킨다
-- 변수의 값을 1 감소시킨다
전위형 ++n 증감연산을 먼저하고 해당 연산이 포함된 코드를 실행 let a = 1;
let b = ++a
a의 값은 2 / b의 값은 2
후위형 n++ 해당 연산이 포함된 코드를 먼저 실행하고 증감연산을 수행 let a = 1;
let b = a++;
a의 값은 2 / b의 값은 1
let num = 5;
num++;	// num 변수의 값이 1 증가된다. 	단항연산자 라고 한다
++num; 	// num 변수의 값이 1 증가된다.
console.log(num); 	// 7이 출력된다
	
5++ 는 사용할 수 없다  이유는 컴퓨터가 5를 변수로 인식하는게 아닌 상수로 인식하기 때문

let num = 5;
let a = ++num;	// num의 값이 1 증가된 후 a에 대입된다
		// a에는 6이 대입된다
console.log(a);	// 6이 출력된다
console.log(num); // 6이 출력된다
	
let num = 5;
let a = num++;	// num의 값이 a에 대입된 후 num의 값이 1 증가된다
		// a에는 5이 대입된다
console.log(a);	// 5가 출력된다 (a에 num이 1 증가된 값을 저장하려는 의도였다면 예상결과와 다른 결과가 출력된다.) 
console.log(num); // 6이 출력된다

 

증감연산자에 대한 여러가지 상황에 대한 코드 및 결과

더보기

전위형 후위형이 햇갈린다면  사진에 나와있는 num4와 num5를 구하는 것처럼 증감연산자만 단독으로 사용하고 대입을 나중에 하면 햇갈릴 이유가 없다