[45일 차] : JavaScript (1)

서하루·2022년 12월 15일
post-thumbnail
  • 자바스크립트란?
  • 자바스크립트의 장/단점
  • 자바스크립트의 사용법
  • 변수와 자료형
  • 데이터입출력

💡 자바스크립트란?

웹 브라우저에서 가장 많이 사용되는 "인터프리터방식"의 스크립트 언어이다.
스크립트언어는 프로그램 동작을 사용자의 요구에 맞게 수행되게끔 해주는 용도이며 짧은 소스코드로 호작용되도록 고안됐다.

🖊️ 인터프리터방식 : 코드를 한줄씩 읽어가며 바로 실행하는 방식(=실시간으로 텍스트분석)


💡 자바스크립트 장/단점

장점
1. 컴파일 과정없이 인터프리터로 코드를 읽으므로 수행속도가 빠르다.
2. 코드작성이 간단하다.

단점
1. 웹에 특화된 기술 => 내부 제공 기능이 다소 제한적
2. html소스코드에서 같이 작성시 외부 공개 => 보안취약점발생


💡 자바스크립트 사용법

inline(인라인) : 태그 내에 간단한 소스코드 작성
internal(내부) : html문서 내 script태그 안에 소스코드 작성
external(외부) : 별도의 .js파일로 소스코드 작성



📢 변수와 자료형

  • 변수 선언시 따로 자료형을 지정하지 않음
  • var , let, const를 이용하여 변수 선언후 값 대입
  • 특정값 대입시 값에 맞춰 알아서 자료형 지정

  • string(문자열)
    number(숫자)
    boolean(논리값)
    odject(객체)
    function(함수)
    undefined(초기화가 안된 변수)


    📢 var, let, const의 차이점

    1) 변수 선언 방법

    - var : 중복선언 가능 / 재할당 가능 (단점임)
    - let : 중복선언 불가능 / 재할당 가능
    - const : 중복선언 불가능 / 재할당 불가능 (상수개념)

    2) 스코프(사용가능범위)

    - var : 변수가 선언된 함수영역내에서 다 사용가능
    - let : 변수가 선언된 블럭내{}에서만 사용가능
    - const : 변수가 선언된 블럭내{}에서만 사용가능

    📢 데이터 입출력

    window : 브라우저 창이 열릴 때마다 하나씩 만들어지는 객체 / 브라우저 창 안에 존재하는 모든 요소들의 최상위 객체

    document : 웹 문서마다 하나씩 존재하는 객체

    📒 데이터를 출력하는 구문 4가지

    1) [window.]alert("브라우저의 알람창에 출력할 문구");

    2) [window.]console.log("브라우저의 콘솔창에 출력할 문구");

    3) document.write("화면상에 출력할 문구");

    4) 선택한요소.innerHTML | innerText = "요소에 출력할 문구";


    📌 document.write("화면상에 출력할 문구")

    📌 선택한요소.innerHTML|innerText= "해당요소에 출력할문구";


    📒 데이터를 입력하는 구문 4가지

    1) 변수 = [window.]confirm("질문내용");

    2) 변수 = [window.]prompt("질문내용");

    3) 변수 = 선택한요소.속성(id, className, innerHTML, innerText '''');

    4) 변수 = 선택한input요소.value;

    📌1) 변수 = [window.]confirm("질문내용");

    • confirm 호출시 "질문내용"과 "확인/취소"버튼이 존재하는 브라우저 알람창 발생
    • 확인버튼 클릭시 -> true / 취소버튼 클릭시 -> false 반환




    📌2) 변수 = [window.]prompt("질문내용");

    • prompt 호출시 "질문내용"과 입력할 수 있는 "텍스트상자", "확인/취소"버튼이 보여지는 브라우저의 알림창 발생
    • 확인버튼 클릭시 -> 텍스트상자에 입력된 값을 문자열로 반환
    • 취소버튼 클릭시 -> null 반환




    📌2) 변수 = 선택한input요소.value;


    0개의 댓글