본문 바로가기
JAVASCRIPT

자바스크립트 복습하기!!

by dongjin6539 2023. 3. 12.
728x90
반응형

자바스크립트 복습하기!!

오늘은 자바스크립트에 대해 부족한 부분을 확인하고 복습을 해보겠습니다.

부족하다고 생각했던 부분은 금요일에 봤던 쪽지시험을 토대로 복습해봤습니다.

비트 연산자, 연산자(전치, 후치), while문, break문, continue문에 대해 복습했습니다.

 

1. 비트 연산자

비트 연산자는 이진수로 표현된 숫자에 대해 수행되는 연산자입니다. 이진수는 0과 1로 이루어진 수 체계를 의미합니다.

 

  • 비트 연산자의 종류
종류 설명
& (AND 연산자) 이진수로 표현된 두 수의 각 자리를 비교하여 둘 다 1인 경우에만 1을 반환합니다.
예를 들어,
1 & 3의 경우
1의 2진수는 0001, 3의 2진수는 0011입니다.
0001 & 0011 = 2진수는 0001, 10진수는 1입니다.
| (OR 연산자) 이진수로 표현된 두 수의 각 자리를 비교하여 둘 중 하나가 1인 경우 1을 반환합니다.
예를 들어,
1 | 3의 경우
1의 2진수는 0001, 3의 2진수는 0011입니다.
0001 | 0011 = 2진수는 0011, 10진수는 3입니다.
~ (NOT 연산자) 이진수로 표현된 두 수의 각 자리를 비교하여 둘 중 하나만 1인 경우에만 1을 반환합니다. 
예를 들어, ~2의 경우(음수 만들기)
2의 2진수는 0010이고 부호를 음수로 바꾸기 위해 1을 더합니다.
0010 + 1 = 0011
2진수 0011은 10진수 3인데 부호가 반대가 되었긴 때문에 -3이 됩니다.
^ (XOR 연산자) 이진수로 표현된 수의 각 자리를 반전시킵니다.
예를 들어,
1 ^ 3의 경우
1의 2진수는 0001, 3의 2진수는 0011입니다.
0001 ^ 0011 = 2진수는 0010, 10진수는 2입니다.
<< (LEFT SHIFT) 이진수로 표현된 수를 왼쪽으로 지정한 비트 수만큼 이동시킵니다.
예를 들어,
1 << 2의 경우
1의 2진수는 0001, 왼쪽으로 2번 이동하면 0100
2진수 0100은 10진수 4입니다.
>> (RIGHT SHIFT) 이진수로 표현된 수를 오른쪽으로 지정한 비트 수만큼 이동시킵니다.
예를 들어,
8 >> 1의 경우
8의 2진수는 1000, 왼쪽으로 1번 이동하면 0100
2진수 0100은 10진수 4입니다.

 

2. 연산자(전치, 후치)

  • 전치 연산자와 후치 연산자는 증감 연산자로도 불리며, 변수의 값을 1 증가시키거나 감소시키는 연산자입니다.
  • 전치 연산자는 변수의 값을 먼저 증가시키거나 감소시키고, 그 다음에 해당 값을 사용합니다. 전치 연산자는 ++i와 같은 형태로 표기됩니다. 예를 들어, 변수 i의 값이 2일 때 ++i를 수행하면 i의 값은 3이 되고, 그 값이 다음 연산에서 사용됩니다.
  • 후치 연산자는 변수의 값을 먼저 사용하고, 그 다음에 해당 값을 증가시키거나 감소시킵니다. 후치 연산자는 i++와 같은 형태로 표기됩니다. 예를 들어, 변수 i의 값이 2일 때 i++를 수행하면 i의 값은 2를 반환하고, 그 다음에 i의 값이 3이 됩니다.
  • 전치 연산자와 후치 연산자는 사용하는 위치에 따라 결과가 달라질 수 있습니다. 전치 연산자는 변수를 사용하기 전에 값을 먼저 증가시키기 때문에 결과값에 반영됩니다. 반면 후치 연산자는 변수를 사용한 이후에 값을 증가시키기 때문에 결과값에는 반영되지 않습니다.
  • 또한, 전치 연산자와 후치 연산자는 같은 식에서 중복해서 사용할 수 있습니다. 이 경우, 우선순위는 왼쪽에서 오른쪽으로 결정됩니다. 따라서, ++i++와 같은 식은 i의 값을 두 번 증가시킵니다.

연산자(전치, 후치) 예시

var score = 10;
var result = ++score;

console.log(result + ',' + score);
답 확인하기

11, 11

 

var score = 10;
var result = score++;

console.log(result + ',' + score);
답 확인하기

10, 11

 

해설 확인하기
  • result = ++score의 경우 : ++score은 '='보다 우선순위가 높습니다. 따라서 ++score를 먼저 연산한 이후 결과 값을 result 변수에 저장합니다.
  • result = score++의 경우 : score++은 '='보다 우선순위가 낮습니다. 따라서 result = score가 먼저 연산된 후 score++이 연산됩니다.
  • 답을 생각해보고 확인하기를 클릭해보세요!!

 

3. while문

  • while문은 조건이 참인 동안 반복적으로 코드를 실행하는 루프를 생성합니다.
  • for문과 비슷하며 for문으로 변경이 가능합니다.
  • 조건식에 맞지 않으면 한번도 실행 안될 수 있습니다. 또한 무한으로 빠질 수 있습니다.
{
    let num = 0;
    while(num<=5){ 
        console.log(num);
        num++; 
    };
}
답 확인하기

0, 1, 2, 3, 4, 5

 

  • 실행문을 쓰는 위치에 따라 결괏값이 달라집니다!!
{
    let num = 0;
    while(num<=5){ 
        num++; 
        console.log(num);
    };
}
답 확인하기

1, 2, 3, 4, 5, 6

 

해설 확인하기
  • 연산자 num++를 먼저 인식하냐 안하냐의 차이가 있어 결괏값이 다르게 나옵니다.

 

4. break문, continue문

  • break문은 코드 실행 중 break문을 만나게 되면 현재 실행문을 중지시키고 다음 실행문으로 넘어가게 합니다.
  • continue문은 반복문 내에서 사용되며, 현재 반복에서 남은 코드를 실행하지 않고 다음 반복으로 건너뛰는 역할을 합니다.
{
    let num = 0;

    while( true ){
        num++;
        if( num == 3 ){
            continue;
        }
        if( num > 6 ){
            break;
        }
        console.log(num);
    }
}
답 확인하기

1, 2, 3, 4, 5, 6

 

해설 확인하기
  • while문이 실행이 되고 num++ 연산자가 먼저 실행이 되면서 1부터 출력이 됩니다.
  • if문의 continue문을 만나 조건식에 맞는 값은 건너뛰고 출력이 됩니다.
  • if문의 break문을 만나 조건식에 맞게 출력이 중지됩니다.

 

참고

https://dongjin6539.github.io/web2023/javascript/javascript01.html

https://dongjin6539.github.io/web2023/javascript/javascript04.html

728x90
반응형