본문 바로가기

개념정리

[개념정리 7탄] JavaScript 3번째

연산자(operator)

기능이 있는 특수문자 또는 단어를 뜻하며 함수, 키워드들은 연산자가 아니다.

 

산술연산자의 종류

  • + (더하기)
  • - (빼기)
  • * (곱하기)
  • / (나누기)
  • % (나머지)
  • ** (제곱)
a % b = 나머지 연산자(a를 b로 나눈 나머지값)
a ** b = 제곱연산자(a의 b 제곱근)
ex) 10 % 3 = 1

비트 연산(2진법)

1 bit = 컴퓨터 용량의 최소 단위이다.

1 byte : 8bit = 메모리의 최소 단위, 데이터의 최소 단위이다.

(1KB = 1024Byte, 1MB = 1024KB 등 1024배씩이다.)

KB(킬로바이트), MB(메가바이트), GB(기가바이트), TB(테라바이트), PB(페타바이트) 등이 있다.

 

조건식*매우 중요!*

조건식이란 조건을 제시하는 식으로 결과가 참(true) 또는 거짓(false) 둘 중 하나로 나오는 식을 뜻한다.

Boolean 타입 = 참을 나타내는 true와 거짓을 나타내는 false로 나타나며 Boolean() : 형변환이다.

 

관계연산자

>, < : 초과, 미만을 뜻한다.

>=, <= : 이상, 이하를 뜻한다.

== : 같다를 뜻한다.(타입과는 무관하게 값만 같으면 true이다.)

!= : 다르다를 뜻한다.(타입과는 무관하게 값이 다르면 true이다.)

=== : 같다를 뜻한다.(타입과 값이 같을 때 ture를 나타낸다.)

!== : 다르다를 뜻한다.(값과 타입 중 하나만 달라도 true를 나타낸다.)

 

논리연산자

조건식들 간의 관계를 설정해주는 연산자이다.

(아래의 A와 B는 조건식이다)

&& : 그리고, 서로 같다면과 같은 뜻을 나타낸다.
A && B = A와 B가 모두 true이여야만 true이다. 하나라도 다르면 false이다.

|| : 또는, 이것 아니면 저것이란 뜻을 나타낸다.
A || B = A 또는 B에서 둘 중 하나라도 true값이면 true이다.

단항연산자

!A : A가 true라면 그의 반대인 false, A가 false라면 그의 반대인 true를 나타낸다.

 

제어문*엄청 중요*

프로그램 내에서 주어진 조건식의 결과에 따라 명령을 수행하도록 제어하는 문장이다.

 

조건문의 종류

  • if문 (if ~ else if ~ else)
  • switch문 (switch ~ case ~ default)

 

반복문의 종류

  • while문
  • for문

조건문

조건에 따라 경우의 수를 나눌 때 사용된다. 프로그램의 흐름을 여러 갈래로 나눌 때 사용된다.(사용자에게 선택지 부여) 특정 상태를 물어볼 때 사용한다.(해방 변수에 데이터 값이 있는가?, 체크박스는 체크했는가?, alert창은 있는가? 등)

 

if문

조건식을 검사한다. 조건의 결과가 true일 경우 if문 안에 있는 내용을 수행하고 만약 해당 조건의 결과가 false라면 else if 혹은 else 안에 있는 내용을 수행한다.

if(조건식1) {
	조건식1의 연산 결과가 true일때 실행
} else if(조건식2) { // 조건식1의 연산 결과가 false일 때
	조건식2의 연산 결과가 true일때 실행
} else {
	조건식1, 조건식2의 연산 결과가 false일때 실행
}

 if문의 간단한 예제

let age = 14;

if (age >= 20) {
	console.log("성인입니다!");
    alert("성인인증 완료");
} else if (age >= 13) {
	console.log("청소년입니다");
    alert("청소년입니다");
} else {
	console.log("어린이입니다");
    alert("어린이는 보호자와 함께 이용해주세요");
}

switch문

경우의 수가 변수에 담긴 값에 따라 나뉠 때 사용한다. 변수에 담긴 값에 알맞은 case에 안의 내용을 실행한다. 밑에 여러 가지 case들이 더 있다면 이어서 case들이 호출되므로 break;를 사용하여 해당 조건문을 종료(탈출)시켜줘야 한다.

switch(변수){
	case 값1 :
    	변수에 담긴 값이 값1이면 수행할 내용
    break;
  }
  	case 값2 :
   	 	변수에 담긴 값이 값2이면 수행할 내용
  	break;
  }  
  
  ...
  	default : 
    	변수에 담긴 값이 위의 값들과 다를 경우 수행할 내용
}

if문과 switch문을 활용한 간단한 예제

let age = 14;
let result;
	// age의 값을 비교해서 해당 값을 result에 넣어준다.
	if (age > 20) {
    result = "성인";
  } else if (age >= 14) {
  	result = "청소년";
  } else {
  	result = "어린이";
  }  
  
  // 위의 if문에서 받아온 result의 값에 따라 출력문이 다르다.
  switch (result) {
  	case "성인":
    	console.log("성인입니다");
        break;
    case "청소년":
    	console.log("청소년입니다");
        break;
    case "어린이":
    	console.log("어린이입니다");
        break;
    default:
    	console.log("잘못 입력하셨습니다");
}
// 위 switch문에 있는 break;를 case마다 해주지 않으면
// 지금과 같은 경우 청소년입니다 와 어린이입니다 두가지가 출력된다.
// 그러므로, break;는 이 문장을 그만두겠다는 것이다.

삼항연산자

조건식 ? 값1 : 값2 => 조건식이 true이면 값을 보여주고 아니면 값2를 보여주라는 뜻이다.

조건식&&값 => 조건식이 true이면 값을 보여주고 아니면 null을 보여주라는 뜻이다.(=조건식 ? 값 : null)

 

삼항연산자를 활용한 간단한 예제

let num = 5;

// if문
if (num > 4) {
	console.log("참");
} else {
	console.log("거짓");
}

// 위에 if문을 삼항연산자로 바꾸면 아래와 같다.
num > 4 ? console.log("참") : console.log("거짓");

반복문

특정한 코드나 행위를 말 그대로 반복해서 나타낼 때 사용한다.

 

조건에 의해 반복 : while

횟수에 의해 반복 : for

 

while문

while(조건식){
   조건식의 결과가 true일 동안 반복할 문장
}

do~while문 : while문과 동일하지만 한 번은 무조건 실행된다.

do {
  조건식의 연산 결과가 true인 동안 반복할 문장 -> 이 문장을 조건식이 true/false던 한번은 실행된다.
  }while(조건식)
  
  무한반복
  while(true){
  ...
  if(탈출조건식){
  ...
  break;
  }
 }

While과 dowhile의 간단한 사용 예시

let num = 0;

while (num < 10) {		// num이 10보다 작을때까지
	num = num + 1;  	// num을 +1씩 해주세요.
    console.log(`현재 숫자는 ${num}입니다`};
}

num2 = 10;
do { 				   // 한번은 무조건 실행
	console.log("한번은 실행해주세요");
   } while (num2 < 9); // num2는 10이라 실행 안시키려고 한것
   
let num3 = 0;
while (true) { 		   // true면 무한반복 한다.
	console.log("무한 반복중...");
    num3 = num3 + 1;   // 무한반복하면서 num3을 1씩 더해준다.
    if (num3 > 5) {    // num3이 5보다 크면
    	console.log("무한 반복 종료"); //종료
        break;  	   // break를 안해주면 무한대로 출력한다.
    }
}

for문 : 반복한 횟수가 특정한 경우에 사용한다. 무언가 값이 변하게 되는 반복이면 99% 확률로 for문일 가능성이 있다.

for(초기식;조건식;증감식){
	조건식이 참일동안 반복할 문장...
}

초기식 : 변수, 내부에서 변수로 변하는 값을 표현 가능하다.
조건식 : 반복적으로 수행할 조건식이다.
증감식 : 매 반복마다 마지막으로 수행할 문장이다.

ex)
for(let i = 0; i < 5; i++){
	....
}
i는 0부터 5가 될때까지 1씩 더하고 그 횟수만큼 반복한다.

for문의 간단한 예시

for (let i = 0; i < 10; i++) { // i는 0이고 i가 10보다 작을때까지 i를 하나씩 증가시켜라.
	console.log(`현재 숫자는 ${i + 1}입니다.`);
    }
// 출력 : 1 ~ 10까지 찍힌다. 그 이유는 i + 1을 해줬기 때문이다.

for (let i = 10; i > 0; i--) { // i는 10이고 i가 0이 될때까지 i를 하나씩 감소시켜라.
	console.log(`현재 숫자는 ${i + 1}입니다.`);
    }
// 출력 : 11 ~ 2까지 찍힌다.    

for (let i = 2; i < 22; i +=2){ // ++은 하나씩 증가, += 2이면 2개씩 증가, 3이면 3개씩 증가이다.
	console.log(`현재 숫자는 ${i + 1}입니다.`);
    }
// 출력 : 3부터 2씩 커져서 21까지 찍힌다.

for (let i = 22; i > 2; i -= 2) { 
	console.log(`현재 숫자는 ${i + 1}입니다.`);
    }
// 출력 : 23부터 4까지 2씩 줄어들면서 값이 찍힌다.