본문 바로가기
공부 기록

자바스크립트 기본

by 매트(Mat) 2020. 10. 20.

JavaScript 에 대해서

JavaScript는 정적인 페이지를 동적으로 바꾸고, 웹을 좀 더 생동감을 불어넣을 수 있는 스크립트 언어입니다.

엔진

우리가 크롬이나 엣지 등에서 자바스크립트를 실행할 수 있는 이유는 자바스크립트 엔진이라는 프로그램이 들어있기 때문입니다.

엔진은 어떻게 동작하나요?

  1. 엔진이 스크립트를 읽어서 기계어로 변경합니다. (컴파일)
  2. 기계어로 전환되었기 때문에 속도가 빠르고, 전환된 코드가 실행됩니다.
    그리고 엔진은 프로세스 각 단계마다 최적화를 진행하여 실행 속도는 점점빨라집니다.

자바스크립트만의 강점

  • HTML/CSS와 완전히 통합 가능
  • 간단한 일은 간단히 처리
  • 모든 주요 브라우저에서 지원, 기본 언어로 사용

자바스크립트에 익숙하다면 명세서 참고
과연이걸 참고할 날이 올지ㅎ..

주의

스크립트를 HTML안에 직접 작성하는 것도 있지만, 이는 스크립트의가 아주 길어진다면 코드의 복잡성이 늘어납니다.

하지만 별도의 파일을 생성하여 작성하면 브라우저가 스크립트를 다운받아 캐시에 저장하고 저장된 파일을 불러오기만 하면 되기 때문에 성능이 좋아집니다.

엄격 모드

자바스크립트가 오랫동안 버전업을 하면서 많은 것이 변경되었습니다.
그래서 기존 기능을 변경하였기에 하위 버전에 호환성 문제가 일어날 수 있습니다.
이를 예방하기 위해 엄격모드가 생겼습니다. 이를 사용하면 변경된 최신 모드로 사용가능합니다.

사용 방법

'use strict';

만 선언해주면 됩니다. (반드시 최상에 첫째줄에 선언하시기 바랍니다.)

만약 브라우저 콘솔에서 사용하시려면 'use strict' 를 입력한 후 shift+Enter키를 눌러주세요.

나중에는 함수형 언어도 꼭 학습할 것!!
변수는 재사용하지말고 추가하여 사용하자!
상수가 변하지 않는 고정된 값이면 대문자 상수로 선언, 변하는 값이면 소문자 상수로 선언

자료형 8가지

숫자형, bigint, 문자형, 불린형, null, undefined, 객체형, 심볼형

콜백함수란?

아래 예제를 보면 바로 이해가 됩니다.

function ask(question, yes, no) {
    if (confirm(question)) yes();
    else no();
}

function showOk() {
    console.log("동의O");
}

function showCancel() {
    console.log("동의X")
}

ask("동의한가요??", showOk, showCancel);

브라우저에서 지원하는 confirm API를 이용해 질문하고 OK버튼을 누르면 showOk() Cancel을 누르면 showCancel() 함수를 호출하는데 이 두 함수를 콜백함수 라고 합니다.

함수를 함수의 인자로 전달하고, 필요하다면 인자로 전달한 그 함수를 "나중에 호출(Called Back)"하는 것이 콜백 함수의 개념.

Reference

https://ko.javascript.info/

'공부 기록' 카테고리의 다른 글

async & defer  (0) 2020.10.21
CSS 레이아웃  (0) 2020.10.21
화면에 php 에러 로그 보기  (0) 2020.10.04
VS Code 사용중에 "Cannot validate the php" 에러가 뜬다면  (0) 2020.10.04
왜 intellij를 사용하는가  (0) 2020.09.09

댓글