---
# System prepended metadata

title: '첫 번째 과제  : 변수와 자료형'

---

# 첫 번째 과제  : 변수와 자료형 
## 1번 과제

```
let a = 1;
let b = 2;

console.log(a,b);

let temp = a;

a = b;
b = temp;

console.log(a,b);
```
결과 : ![화면 캡처 2025-02-10 222142](https://hackmd.io/_uploads/H1kl0uPYkg.png)


## 2번 과제

```
console.log(20 + 30); //50
console.log("20" + "30"); //2030
console.log("Hello" + " " + 2021);//Hello 2021
console.log(1 + 2 * 3); //7
console.log((1 + 3) ** 2); //**은 거듭제곱 연산자, 16
console.log(1 / 0); //1
console.log(6 % 2); //0
console.log(7.5 % 2); //1.5
console.log(5 == 5); //true
console.log(5 === 5); //true
console.log(5 == "5"); //true
console.log(5 === "5"); //false
console.log(5 != 5.0); //true
console.log(5 !== 5.0); //false
console.log("true" === true); //false
console.log(5 <= 5.0); //true
console.log(5 >= 5); //true
console.log(true || true); //true
console.log(true || false); //true
console.log(true && true);  //true
console.log(true && false); //false
console.log(!true); //false
console.log(!false); //true
```
결과 : ![화면 캡처 2025-02-10 222526](https://hackmd.io/_uploads/SJIUROwKyl.png)

#### 틀린 문제
```
console.log(1 / 0);
console.log(5 != 5.0); 
```
#### 오답 풀이
* console.log(1 / 0) : 
         0으로 나누기를 **Infinity**로 처리한다.
        
* console.log(5 != 5.0) : 
        5와 5.0의 경우 정수와 실수라는 차이가 존재하지만 ==와 != 의 경우 느슨한 비교 연산자로 두 피연산자에 대해 암시적 형변환을 진행해 공통 자료형으로 바꾼 뒤 비교를 진행한다. 때문에 5 != 5.0은 false가 나온다.

    

## <br><span style="color:red"> 오늘 배운점 </span>
1. 자바스크립트에는 ==, !=와 같이 형변환을 자동으로 실행하는 느슨한 비교 연산자와 ===, !==와 같은 강제 형변환 없이 자료형과 값이 모두 일치할 경우에만 true를 반환는 엄격한 비교 연산자가 있다.<br>

2. ** 연산자는 거듭제곱 연산자이다.