본문 바로가기
웹 개발/웹프로그래밍

Javascript | 자바스크립트 기초 문법

by KISCH 2024. 4. 3.
반응형

 

자바스크립트는 HTML의 부족한 점을 채워주고 웹사이트를 동적으로 만들 수 있습니다. 자바스크립트를 공부하기에 앞서 자바스크립트 특징과 문법 등 기초적인 내용을 정리해 봤습니다.

 

목차

     

     

    1. 자바스크립트란 ?

     

    ECMA

    기술 및 통신업계 국제적 비영리 표준기관 

    ECMAScript6 - ES6. ECMA 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어 

     

    HTML에서 CSS, JavaScript 호출

    HTML — 보통 <Head> 안에서 CSS 호출, <Body> 마지막 자바스크립트 호출
    CSS — <link rel = "stylesheet" href="ooo.css">
    JavaScript — <script src = "ooo.js"></script>

     

    자바스크립트가 할 수 있는 일

    웹 사이트를 동적으로 만들 수 있습니다.
    웹 브라우저에서 실행되는 프로그램을 만들 수 있습니다.
    서버를 구성하고 서버용 프로그램을 만들 수 있습니다.

     

    자바스크립트 특징

    모든 웹 브라우저에서 작동하고 웹 브라우저에서 실행결과를 즉시 확인할 수 있습니다.
    풀스택 웹 개발과 다양한 용도의 프로그램을 개발할 수 있습니다.
    다양한 자바스크립트 공개 API와 라이브러리 프레임워크를 사용할 수 있습니다. 

     

     

    2. 자바스크립트 기초

     

    호출

    $(document).ready(fuction() {
    	...
    });

    head 사이에 쓸 경우 문서들이 모든 태그들이 로드된 다음 호출하라는 코드

     

    라이브러리

    html5 캔버스 - <canvas id = "ooo"> </canvas>

    Paper.js 라이브러리 

    <script src = "http://cdnjs.cloudflare.com/ajax/libs/paper.js/0.9.25/paper-full.min.js"> </script>

     

    파일

    .js — uncompressed버전
    .min.js — 용량 최소화 버전으로 5배 이상의 차이가 납니다.
    vsdoc.js — 비주얼스튜디오 제품군을 위한 보조파일 

     

    개발도구

    Git - 
    노드 - 브라우저 밖에서 자바스크립트를 실행
    걸프 (Gulp) - 자바스크립트 빌드. 반복적인 개발작업을 자동화
    바벨 - ES6 -> ES5 변환하는 트랜스컴파일러
    ES린트 - 실수를 최소화 해주는 프로그램  

     

     

     

     

    3. 자바스크립트 문법

     

    출력

     window.alert() - 
     innerHTML - 선택된 html 요소의 내용이나 속성값 등을 손쉽게 변경
     document.write() - 
     console.log - 로그출력 

     

    따옴표

     큰따옴표 작은따옴표 둘 다 가능합니다.
     일괄적으로 한가지 따옴표만 쓰고 싶은 경우 이스케이프 문자 \ 를 사용

     

    리터럴, 변수, 상수, 데이터타입

    변수 선언

    • var - 전역 범위, 함수 범위로 var 변수는 재선언, 업데이트 될 수 있습니다.
    • let - 블록 범위. 해당 블록 내에서만 사용 가능하고 업데이트만 가능합니다.
    • const - 블록 범위로 상수값을 가지면 업데이트, 재선언 불가능합니다.

     식별자

    • 변수, 상수, 함수이름
    • 시작 : 글자, 달러기호, 밑줄 
    • jQuery 는 달러기호 자체를 식별자로 사용합니다.

    리터럴 - 숫자형리터럴, 문자형리터럴 
    원시타입과 객체타입 - 문자열, 숫자, 불리언, null, underfined, 심볼
    숫자 - 배정도 부동소수점 숫자(더블)
    배열 - 특수 객체, 유연
    날짜, 맵, 셋, 정규표현식 - 특수객체타입 
     

    제어문

    while -  
    if-else -  
    do while -  
    for -

    • for in :
    • for of : 컬렉션의 요소에 루프 실행 

    continue -
    break -
    return -

     

    표현식과 연산자

    산술연산자 -  
    비교연산자 -  

    • == : 비교 전에 동일한 자료형으로 자동 변환합니다.
    • === : 같은 자료형인지도 비교합니다.

    논리 연산자 - AND, OR, NOT
    조건연산자  -  
    쉼표 연산자 -  
    비트 연산자 -    
    type of -  
    void -  
    할당연산자 -  
    객체와 배열연산자 -  
    delete 연산자 - 피연산자인 객체, 객체의 프로퍼티, 배열의 요소등을 삭제 

     

    함수

    기능별로 여러 명령을 묶어 놓은 것
     
    함수 정의 - function 함수명() { ... } 
    익명함수 정의 - 참조변수 = function 함수명() { ... } 
    매개변수 있는 함수 정의 - 참조변수 = function 함수명(매개변수1, 매개변수2, ... ) { ... } 
    매개변수 없는 함수 정의 -

    • 참조변수 = function 함수명( ) { arguments; } 
    • 매개변수 정의 없을 때 데이터가 넘어 올 경우 arguments 배열에 저장됩니다. 

    함수 호출 - 

    • 함수명 ();
    • 참조변수 ();
    • 함수명 (데이터1, 테이터2, ...);

    함수표현식 - 
    메서드 - 객체의 프로퍼티인 함수 
    this, call, apply, bind - 
    내장함수 -

    • encodeURI() / encodeURIComponent() : 문자를 유니코드값으로 인코딩
    • decodeURI() / decodeURIComponent() : 유니 코드값을 디코딩해 다시 문자화
    • parseInt() : 문자열데이터 -> 정수형 데이터
    • parseFloat() : 문자열데이터 -> 실수형 데이터
    • String() : 문자형 데이터 반환
    • Number() : 숫자형 데이터 반환
    • Boolean() : 논리형 데이터 반환
    • isNaN() : 숫자가 아닌 문자가 포함 시 true를 반환
    • eval() : 문자형 데이터를 따옴표가 없는 자바스크립트 코드로 처리 
    • isFinite() : 전달한 값이 유한한 수인지 검사

     

    스코프

    정적스코프와 동적스코프전역스코프블록스코프

     

    배열과 배열처리

    push() - 배열의 제일 끝에 새로운 요소를 추가. 
    map과 filter 메서드 -  
    reduce 메서드 -

     

    맵과 셋

    맵 - 데이터구조, 키와 값을 연결하는 것을 말합니다.  
    위크맵 - 위크맵은 키가 반드시 객체여야하며, 키는 가비지콜렉션에 포함가능합니다. 

     

    예외와 에러처리

    error -  
    try catch finally - 

     

    이터레이터, 제너레이터

    이터레이터 - 책갈피개념 (지금 어디 있는지)  
    제너레이터 - 이터레이터를 사용 자신의 실행을 제어  

     

    비동기적 프로그래밍

    1) 콜백

    2) 프로미스

    3) async / await

     

    jQuery

    DOM(문서객체모델)과 이베트객체가 호환성이 떨어지는 문제를 해결
    쉽고 편리한 애니메이션 효과 기능 구현
    DOM조작, Ajax 요청실행 라이브러리 

     

    노드

    서버에서 자바스크립트를 사용할 목적으로 개발되었습니다.
    모듈 - 코어, 파일, npm
    스트림 - 스트림형태의 데이터를 다루는 객체 
    웹서버 -  
    파일시스템접근 -  
    precess - 

     

     

    관련포스트
    JavaScript | 자바스크립트 그래픽
    JavaScript | 자바스크립트 개발도구
    JavaScript | jQuery 셀렉터와 동작

     

    자바스크립트기초

    반응형

    댓글