본문 바로가기
Web/JavaScript

[JavaScript] 생활코딩 Web2 내용정리 (JavaScript-기초)

by dwoi 2023. 3. 10.

목차

     

     


    WEB2 (1~13)

    WEB2 JavaScript - 1.수업소개 - YouTube

     

    본 글은 유튜브 무료 강의 생활코딩의 내용과 검색을 통해 이해한 것을 정리한 글임을 밝힘. 


    1. JavaScript

    intro.

    HTML으로 웹을 구성했을 경우 출력된 후 변하지 않음.

    이를 JavaScript를 이용해서 사용자와 상호작용할 수 있도록 기능을 추가할 수 있다.

    즉  JavaScript가 활용된 것과 상호작용을 하면 HTML문서가 동적으로 변하는 것을 관찰할 수 있음.

     

    1. 1. JavaScript

    <script> : html 문서 내에서 이 태그안에 있는 내용은 자바스크립트로 동작할 것임을 알리는 태그

    더보기

       <script>
         document.write('hello world')  
       </script> 

    1.1.1. HTMl과 JavaScript의 차이

    예시) html로 1+1을 출력한다고 하면 문서상에서 1+1로 출력        JavaScript는 동적임 1+1을 출력한다고 했을 때 2로 출력 

     

    1.1.2. JavaScript 실제 예제

    더보기

    <input type="button" value="다크on" onclick="alert('다크 모드를 활성화하시겠습니까?')">

    • <input> : HTML에서 사용자로부터 정보를 받을 수 있는 다양한 종류의 입력 요소를 생성
    • type="button" : 입력할 요소를 button이라는 속성으로 지정
    • value="다크on" : 입력되는 값을 설정하는 속성 → 여기선 다크 on이라는 값을 입력
    • onclick="alert('다크 모드를 활성화하시겠습니까?') " :
      • onclick의 속성값으로는 자바스크립트로 오게 됨.
      • html은 이것을 기억해뒀다가 사용자 클릭했을 때 onclick 안에 있는 내용을 실행하는 것으로 이해하면 됨.
      • alert('다크 모드를 활성화하시겠습니까?') : 다크 모드를 활성화하시겠습니까? 라는 경고창을 띄운다.

     

    1.1.3. Event

    Event : 웹브라우저에서 일어나는 사건, on으로 시작하는 속성들(onkeydown, onclick, onchange 등등)

    ex. 무언가를 클릭하는 이벤, 내용을 바뀌는 이벤트, 내용이 변했을 때라는 이벤트를 체크하는 이벤트

    10개에서 20개정도 되는 이벤트가 존재. 이를 잘 엮어서 웹사이트를 구성.

     

    1.1.4. 콘솔

    웹사이트 들어가서 F12

    콘솔로 들어가서 파일을 만드지 않고도 자바스크립트를 실행할 수 있음.

     

    2. 데이터타입(자료형), 변수, 연산자 -

    컴퓨터는 데이터를 처리하는 게 아주 중요하므로 데이터의 종류를 구분 지을 필요가 있다!

    2.1. 데이터타입

    데이터의 특성에 따라 어떠한 유형의 데이터인지 식별할 수 있도록 사전에 정해놓은 자료의 분류

    나타나있는 데이터가 문자인지, 숫자인지, 문자열인지, 불린인지 정확히 파악하고 쓰는 것이 중요!

    Why? 

    답) 연산자든 함수든 하고자하는 바와 달라질 수 있음.

    ex.

    더보기

    1+1

    >> 2

    '1'+'1'

    >> '11'

     

    2.2. 변수와 대입 연산자

    변수(variable) : 컴퓨터의 메모리 안에 만들어지는 공간 → 값을 저장하는 공간이라고 생각

    대입연산자(=)을 통해 바뀔 수 있는 변수에 데이터를 할당하는 것이라고 이해

    더보기

    var X=1

    ※ var이라고 선언하는 건 지금부터 변수를 선언하겠다는 것을 의미 : 코드에서 알기 쉽게 보자

    상수 : 변할 수 없는 것

    • 1=2 , 1은 상수이므로 2라는 값을 할당시킬 수 없음.

    2.3. 연산자

    어떤 연산을 할 지 지정하는 것을 의미.

    주된 종류로는 변수에 값을 대입시킬 때 사용하는 대입연산자(=)

    산술을 위한 산술연산자(+, -, *, /) 등이 있고 추가적인 연산자는 나중에 따로 정리.

     

    3. JavaScirpt를 통한 태그 제어

    3.1. Javascript를 통해 CSS의 태그 선택자를 선택하는 방법

    더보기

    document.querySelector("p");

    → 이 문서(document)에 있는 p라는 태그를 다 선택해라

    3.2. CSS 태그를 선택했으면 어떻게 바꿀 것인가?

    더보기

    document.querySelector("p").style.backgroundcolor = "white";

    → 지정된 태그를 바꿀건데 backgroundcolor를 흰색으로 바꿀거다.


     

    정리

    HTML VS JavaScript

    JavaScript는 컴퓨터 언어이면서 컴퓨터 프로그래밍 언어이지만

    HTML은 프로그래밍 언어는 아님. (시간의 순서에 따라 실행하는 기능은 없음)

     

    프로그래밍 : 순서를 만드는 행위

    조건에 따라 여러가지를 하고 싶고 반복하고 싶고 잘 정리정돈하는 방법이 필요!


     

    개인 연습용 예제

    ex1.html
    0.00MB

    더보기

    <!DOCTYPE html>
    <html>

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            .input{
                font-family:sans-serif;
            }
            .body{
                background-color: white;
                color:black;
            }
        </style>

    </head>

    <body>
     <input type="button" value="다크on" 
        onclick="confirm('다크 모드를 활성화하시겠습니까?')
        var dark_mode=confirm('다크 모드를 활성화하시겠습니까?')
         if (dark_mode==true) {document.querySelector('body').style.backgroundColor ='black';
        
            document.querySelector('body').style.color = 'white';
         }
            else {document.querySelector('body').style.backgroundColor ='white';
        
        document.querySelector('body').style.color = 'black';}">
     
    <p>
        'This function displays a message in a dialog box. Nowadays, website owners are always aiming to make their pages user-friendly. One of the possible usages of JavaScript confirm function is to display a confirm message for deletion'
    </p>

    </body>
    </html>

    위 html은 다크모드를 예 아니오로 구분시켜서 그거 하나로 

    다크모드를 왔다갔다하는 걸 제어하는 걸 해보고 싶어서

    혼자서 만들어본 예제

     

    1. alert로는 예/아니오를 띄우기 어려웠기 때문에 해당하는 confirm이란 걸 검색해서 찾음.
    2. 예/아니오 각각 조건에서 다크모드와 라이트모드를 왔다 갔다해야하기 때문에 조건문이 필요한 걸 깨달음.
    3. javascript에 대한 조건문 문법을 찾아봐서 생각해본 순서대로 입력한 뒤 실행을 해봄.

    개인 Feedback

    1. 우선 <input> 안에 위에 해당하는 코드를 다 넣어야 하다보니 괄호, 따옴표가 헷갈림. 그로 인한 빈번한 오타 발생
    2. 태그를 지정해주는 것들이 반복되고 길어보여서 너무 지저분하고 가독성이 구림
    3. 실행은 정상적으로 작동되지만 confirm창이 두 번 나오는 건 이유를 잘 모르겠음.

    → 이를 해결하기 위해서 클래스 지정자를 이용하는 식으로 해결을 해봐야 함.

    → 후속 강의들을 보면서 점차 가다듬을 필요 있음!


     

    댓글