본문 바로가기
온보딩 커리큘럼/과제

1일차 과제

by junhub 2023. 3. 6.
연산자 피연산자 자료형
+(문자열 연결 연산자) 문자열
+(덧셈 연산자) 숫자
&&
- 숫자
* 숫자
||

 


 

<script>
    console.log("# 연습문제")
    console.log("\\\\\\\")
</script>

실행 결과 : # 연습문제 
                 \\\\

 

이유: \\\는 이스케이프 문자이므로 4개만 출력됨

 


 

<script>
    console.log("안녕하세요"[1])
    console.log("안녕하세요"[2])
    console.log("안녕하세요"[3])
    console.log("안녕하세요"[4])
</script>

실행 결과 : 녕
                 하
                 세
                 요

이유 : 인덱스는 0부터 카운트 됨

 


 

<script>
    console.log(2 + 2 - 2 * 2 / 2 * 2)
    console.log(2 - 2 + 2 / 2 * 2 + 2)
</script>

실행 결과 : 0
                 4

 

이유 : 연산자 우선 순위 숙지

 


 

const r 
r = 100 

console.log(`넓이 = ${3.14 * r * r}`)

const를 사용할 때는 생성할 때 값을 할당해주어야 한다. 따라서 위의 두줄을 const r = 100 으로 수정하면 정상적으로 동작한다. 

 


 

const number = 10 

console.log(++number)
console.log(number++)
console.log(++number)
console.log(number--)

위의 코드를 실행하면 오류가 나는데 그 이유는 변수 number가 변할 수 없는 상수인 const로 선언되었기 때문이다. 

따라서 const 가 아닌 let으로 변경하면 정상적으로 동작한다. 

 


 

const input = prompt('달러를 입력하세요')

const dollar = Number(input)
const won = dollar * 1207

alert(`${dollar}는 현 환율 기준(1207원) ${won}원 입니다.`)

위 코드는 현재 환율(1달러 = 1207원)을 기반으로 숫자를 입력 받아 달러를 원화로 환율을 변환하는 프로그램을 위한 코드이다. 

 

먼저 prompt( )을 통해 input을 받는다. 그 후 Number(input)을 통해 input 값을 숫자로 변환 시킨 후 dollar 라는 변수에 할당시킨다.

 

dollar 값을 얻었으니 원화로 변환을 해줘야한다. 변수 won 선언 후 얻은 dollar 데이터에 1207을 곱하여 변수 won에 할당시킨다. 

 

최종적으로 alert를 통해 변경된 환율을 알려준다. 

 


궁금한 점

const = r
r = 10 

console.log(`넓이 = ${3.14 * r**2}`)

챕터 2-2 문제 3-1번에서 위와 같이 const = r을 먼저 선언한 후 r = 10 이라고 할당하면 오류가 나는데 해설을 보면 

' const 키워드를 사용해서 만드는 상수는 반드시 생성할 때 초기화를 해야한다 ' 

라고 나와있다. 이 말이 const를 선언할 때 바로 할당을 해줘야한다고 이해했는데 잘 이해한건지 모르겠다

 

 

const number = 10 

console.log(++number)
console.log(number++)
console.log(++number)
console.log(number--)

챕터 2-2문제 4번에서 위의 코드가 실행이 되지 않는 이유가 해설에는 

' ++연산자와 --연산자는 내부적으로 할당하므로 상수에는 적용할 수 없다 '

라고 나와있다. 내가 이해하기로는 const로 number를 변할 수 없는 상수로 이미 선언을 한 후 console.log에서 연산을 하고 새로운 값을 출력하려고 하니 오류가 난거 같은데 이 부분도 내가 잘 이해한건지 모르겠다. 

확인 차 const가 아닌 let으로 선언해보니 정상적으로 작동한다. 

댓글