혼공스

혼공스 - 1주차! 🤓

오쟝 2024. 1. 2. 13:16

 

공부한 내용 정리 렛추고!

 

Chapter 1

자바스크립트는 웹 동적 구현, 웹 서버 (Node.js) 개발, 모바일•데스크톱 웹 개발, 데이터베이스 관리 등의 역할을 하는 프로그래밍 언어입니다!

 

Chapter 1-1 마무리
 1. 인터넷을 돌아다니면서 보았던 쉽게 사용할 수 있고, 기능이 많다고 느꼈던 웹 사이트를 5개 정도 적어 보세요.
① 유튜브
② 깃허브
③ 페이스북
④ 노션
⑤ 인스타그램
2. Statcounter에서 책을 보고 있는 현재 시점의 웹 브라우저 점유율을 확인해보세요.

 

자바스크립트의 개발환경에는 텍스트 에디터인 비쥬얼 스튜디오와 코드 실행기인 크롬이 필요합니다.

 

설치를 했다면 크롬 개발자 도구에서 console.log를 사용해 이와 같이 실행시킬 수 있습니다!

결과가 따로 없기 때문에 undefined가 뜬다!

그럼 HTML 파일을 생성해 시작해봅시다!

<!DOCTYPE html>
<html lang="en">
<head>
    <title></title>
    <script>
        alert('Hello World')
    </script>
</head>
<body>
</body>
</html>

 

 

코드 작성 후 test.html을 실행하면

alert를 통해 경고창으로 Hello World가 뜹니다!

 

Chapter 1-2 마무리
1. 구글 크롬 개발자 도구의 콘솔을 실행하고 다음 명령을 입력했을 때 나오는 결과를 빈칸에 적어보세요. 코드를 하나 실행할 때 여러 줄의 출력이 나오는 경우 모두 적어주세요.
> "안녕하세요"
'안녕하세요'
> console.log("안녕하세요")
안녕하세요
undefined
> "안녕하세요
VM105:1 Uncaught SyntaxError: Invalid or unexpected token
2. 비주얼 스튜디오 코드에 다음 소스 코드를 입력하고 ex01.html로 저장한 후 화면에 나오는 결과를 적어보세요.

 

출력 

  • 콘솔에 출력 - console.log() 메소드 사용
  • 경고창에 출력 - alert() 함수 사용
Chapter 1-3 마무리
1. 다음 단어 중 식별자로 사용할 수 있는 것은 O표, 식별자로 사용할 수 없는 것은 X표를 하세요.
① a (O)
②  hello (O)
③ 10times (X)
④ _ (O)
⑤ $ (O)
2. console.log()에서 console 다음 중 무엇일까요?
② 식별자
3. console.log()에서 log는 다음 중 무엇일까요?
② 식별자, ④ 메소드
4. 여러 단어로 이루어진 식별자를 만들려고 합니다. 71쪽에서 설명한 방법에 따라서 한 단어로 묶어주세요.
① we are the world (weAreTheWorld)
②  create output (createOutput)
③  create request (createRequest)
④  init server (initServer)
⑤ init matrix (initMatrix)
5. 다음 코드를 입력해보고 어떤 오류가 뜨는지 확인해보세요.
① knosole.log('안녕하세요')
Uncaught ReferenceError: konsole is not defined

    at <anonymous>:1:1
②  +++ 1 ++ 2 + 3
Uncaught SyntaxError: Invalid left-hand side expression in postfix operation

③ console.log)
Uncaught SyntaxError: Unexpected token ')'

 

Chapter 2

문자열 "(큰따옴표), '(작은따옴표) 모두 사용할 수 있기 때문에 필요에 따라 사용합니다!

만약 따옴표를 문자 그대로 사용하고 싶을 때는 \(이스케이프 문자)를 사용하면 됩니다!

  • \n : 줄바꿈
  • \t : 탭을 의미
  • \\ : \(역슬래시)를 의미

문자열은 +(문자열 연결 연산자)를 사용해 연결할 수 있습니다!

또한 문자열은 [인덱스](문자 선택 연결자)를 사용해 선택할 수 있습니다! » 문자열은 0부터 인덱스를 셈

문자열의 길이는 .length 속성을 사용하면 됩니다!

숫자는 +, -, *, /를 사용해 기본적인 사칙연한을 할 수 있습니다. 이떄 %는 나머지 연산자입니다.

boolean은 true와 false로 표현할 때 사용합니다. 비교 연산자를 사용해 boolean을 만들 수 있습니다!

  • === : 양쪽이 같다
  • !== : 양쪽이 같지 않다
  • > : 왼쪽이 더 크다
  • < : 오른쪽이 더 크다
  • >= : 왼쪽이 더 크거나 같다
  • <= : 오른쪽이 더 크거나 같다
  • !~ : ~의 부정

boolean에는 논리합(||) • 논리곱(&&) 연산자를 사용할 수 있습니다.

논리합 (||) 논리곱 (&&)
true true true true true true
true false true true false false
false true true fasle true false
false false false false false false

 

논리합은 or 둘 중에 하나라도 true면 결과도 true입니다.

논리곱은 and 둘 다 true여야 결과가 true입니다.

 

이러한 자료형들은 typeof() 연산자를 사용해 알 수 있습니다.

Chapter 2-1 마무리
1. 다음 연산자들의 피연산자가 어떤 자료형인지 적어보세요.
&& : 불
- : 숫자
* : 숫자
|| : 불
2. 다음 프로그램의 실행 결과를 예측해 보세요.
> \\\\
3. 다음 프로그램의 실행 결과를 예측해 보세요.
> "녕"
> "하"
> "세"
> "요"
4. 다음 프로그램의 실행 결과를 적어보세요. 예측하는 것보다 실제로 코드를 입력해 보고 결과를 확인하는 것이 쉬울 수 있습니다.
> 0
> 4

 

상수는 한 번 값을 넣으면 바꿀 수 없고, 변수는 계속해서 값을 변경할 수 있습니다.

상수는 const 이름 = 값 을 사용해 선언할 수 있습니다.

변수는 let 이름 = 값 을 사용해 선언할 수 있습니다. 값을 수정할 때는 이름 = 값 을 사용해 수정할 수 있습니다.

 

변수에는 복합 대입 연산자와 증감 연산자를 사용할 수 있습니다.복합 대입 연산다

  • += : 기존 값에 값을 더합니다
  • -= : 기존 값에 값을 뺍니다
  • *= : 기존 값에 값을 곱합니다
  • /= : 기존 값에 값을 나눕니다
  • %= : 기존 값에 나머지를 구합니다

증감연산자

  • 변수++ : 기존 값에 1을 더합니다 (후위)
  • ++변수 : 기존 값에 1을 더합니다 (전위)
  • 변수-- : 기존 값에 1을 뺍니다 (후위)
  • --변수 : 기존 값에 1을 뺍니다 (전위)

증감 연산자에서 전위는 코드가 실행되기 전에 실행하는 것이고, 후위는 코드가 실행되고 난 후 실행하는 것입니다.

Chapter 2-2 마무리
1. 다움 중 상수를 선언할 때 사용하는 키워드는 어떤 것인가요?
①  const
2. 다음 중 값을 할당할 때 사용하는 연산자는 어떤 것인가요?
② =
3. 다음 프로그램 중에서 오류를 발생하는 것을 찾고, 어떤 오류가 발생하는지 적어보세요.
const r
r = 10

Uncaught SyntaxError: Missing initializer in const declaration

넓이 = 314
둘레 = 62.800000000000004
4. 다음 프로그램의 실행 결과를 예측해 보세요.
> 11
> 11
> 13
> 13

ex01.html:5 Uncaught TypeError: Assignment to constant variable.
    at ex01.html:5:23

-> const는 값 변경 불가능!!

 

prompt()를 사용해 문자열을 입력받 수 있습니다!

confirm()을 사용해 불을 입력받을 수 있습니다!

 

다른 자료형을 숫자형으로 변환시킬 때는 Number()를 사용해도 되고, 숫자 연산자를 사용할 수도 있습니다!

다른 자료형을 문자열로 변환시킬 때는 String()을 사용해도 되고, 빈 문자열을 연결해도 됩니다!

다른 자료형을 불로 변환시킬 때는 Boolean()을 사용해도 되고, ! (논리 부정 연산자)를 두 번 사용해도 됩니다!

단, 0, "", NaN, undefined, null은 false로 변환됩니다.

 

Chapter 2-3 마무리
1. 다음 중 사용자로부터 불 입력을 받는 함수는 어떤 것인가요?
③ confirm
2. 다음 표의 빈칸을 채우시오.
Number() : 숫자 자료형으로 변환합니다.
String() : 문자열 자료형으로 변환합니다.
Boolean() : 불 자료형으로 변환합니다.
3. 사용자로부터 숫자를 입력받아 cm를 inch단위로 변환하여 출력하는 프로그램을 만들어 보세요. 1cm는 0.393701inch로 변환할 수 있습니다.
<body>
    <script>
        let numStr = prompt('inch로 변환할 숫자를 입력해주세요')
        let inch = Number(numStr) * 0.393701
        alert(`${numStr}cm는 ${inch} 입니다.`)
    </script>
</body>
4. 사용자로부터 원의 반지름을 입력받아 원의 넓이와 둘레를 구하는 프로그램을 만들어 보세요.
<body>
    <script>
        let numStr = prompt('원의 반지름을 입력해주세요.')
        let num = Number(numStr)
        alert(`원의 반지름: ${num}\n원의 넓이: ${num * num * 3.14}\n원의 둘레: ${num * 3.14 * 2}`)
    </script>
</body>
5. 현재 환율을 기반으로 사용자에게 숫자를 입력받아 달러에서 원화로 환율을 변환하는 프로그램을 만들어보세요.
<body>
    <script>
        let dollor = Number(prompt('달러 단위의 금액을 입력해주세요.'))
        alert(`달러: ${dollor}\n→원화: ${dollor * 1302.99}`)
    </script>
</body>
6.위의 문제들처럼 데이터를 입력받아 처리하고 출력하는 프로그램에는 어떤 것이 있는지 생각해 보고 3개 정도 적어 보세요.
① 엔화 -> 원화 변환  

<body>
    <script>
        let yen = Number(prompt('엔 단위의 금액을 입력해주세요.'))
        alert(`엔: ${yen}\n→원화: ${yen * 9.21}`)
    </script>
</body>

② 계산기 

<body>
    <script>
        let str = prompt('계산할 수식을 입력해주세요')
        alert(eval(str))
    </script>
</body>

③ 이름 출력

<body>
    <script>
        let name = prompt('이름을 입력해주세요')
        if(Boolean(name)){
            document.body.innerHTML = `<h1>안녕하세요 ${name}님</h1>`
        }
        else {
            document.body.innerHTML = `<h1>이름을 입력해주세요</h1>`
        }
    </script>
</body>

 

1주차 끝~!! O(∩_∩)O

'혼공스' 카테고리의 다른 글

혼공단 11기 회고록  (1) 2024.02.05
혼공스 - 5주차 👍  (1) 2024.01.29
혼공스 - 4주차 ✨  (0) 2024.01.22
혼공스 - 3주차!!  (1) 2024.01.15
혼공스 - 2주차 (。・∀・)ノ゙  (1) 2024.01.08