728x90
반응형
SMALL

자바스크립트(JavaScript)

1995년
넷스케이프 커뮤니테이션즈: 네비게이터 브라우저가 90% 이상의 점유율

1996년
    - 브렌던 아이크 동적인 프로그램을 개발하기 위해 언어(모카, 10일)를 개발
    - 네비게이터2에 탑재(모카 -> 라이브스크립트 -> 자바스크립트)
    - MS의 익스플로러의 jscript 호환성 문제로 크로스 브라우징 이슈가 발생

1997년
    - 자바스크립트는 ECMAScript(비영리 표준화 기구 ECMA 인터내셔널)로 명명됨

1999년
    - jscript를 이용하여 비동기적(Asynchronous) 서버와 브라우저가 데이터를 교환할 수 있는 통신 기능 Ajax(Asynchronous JavaScript and XML)이 탄생

2005년
    - 구글이 발표한 구글 맵에 Ajax기술을 사용
    - 크롬 발표(V8 자바스크립트 엔진)

2006년
    - JQuery 등장으로 크로스 브라우징 이슈도 해결
    
2009년
    - Node.js의 등장
    - 탈 브라우징(웹 브라우저를 벗어나 서버 사이드 애플리케이션 개발에도 사용)

 

SPA(Single Page Application) 개발

    - React, Vue, Angular

TypeScript:
                 Javascript에 type을 추가한 스크립트

자바스크립트의 특징

    - 객체 기반의 스크립트 언어
    - 대소문자를 구별
    - 문장 끝에 세미콜론을 사용(생략이 가능)

자바스크립트의 출력

    - web API console을 통해 브라우저 Console 창에 출력
    1. <script> ~ </script>
    2. 외부 자바스크립트로 사용 <script src="파일명"><\/script>

자바스크립트의 실행 순서

    - 인터프리터 방식이므로 위에서 아래로 실행

* JavaScript 파일 및 문장을 head태그 사이에 넣었을 경우

html문서의 시작 -> <head>에 있는 <script>를 다운로드/실행 -> <body>에 있는 HTML 태그를 실행 -> 끝
    - 외부 script 파일을 사용할 경우 script 파일 다운로드가 늦을 때 HTML이 실행되지 않은 상태에선 빈 화면이 보일수 있다.

* JavaScript 파일 및 문장을 Body 끝에 넣을 경우

HTML문서의 시작 -> <body>에 있는 HTML 태그를 실행 -> <script>를 다운로드/실행 -> 끝
    - 완벽하지 않은 HTML이 먼저 보여 잘못된 UI가 노출될수 있음

* <script async>를 사용할 경우

html문서의 시작 -> script 파일을 동시에 다운로드/실행 -> <body>에 있는 HTML 태그를 실행 -> 끝
    - script 파일이 여러개 있을경우 먼저 다운로드 된 script 파일을 먼저 실행하게 됨
    - script 파일이 서로 연관성이 있는 경우 하나의 스크립트만 실행후 문제가 발생할 수 있음

* <script defer>를 사용하는 경우 (body의 맨끝에 넣는 경우가 가장 완벽하다)

html문서의 시작 -> script 파일을 다운로드/실행 -> <body>에 있는 HTML 태그를 실행 -> 끝
    - HTML이 먼저 시작되고 script 파일을 동시에 다운로드/실행을 진행함
    - script 실행은 페이지 구성이 모두 끝날 때 까지 지연
    - script 순서에 따라 실행

✔ CSS, JavaScript가 반영되지 않을경우(캐시가 남아있을경우)

    - F12키를 누르고 새로고침 버튼을 꾹 누르고 있는상태에서 강력 새로고침 선택
    - Ctrl + shift + R

주석문

//: 한줄주석문
/* ... */: 여러줄 주석

도움이 되는 익스텐션 (자바스크립트 입력보조)

JavaScript (ES6) code snippets

 

728x90
반응형
LIST

'JavaScript' 카테고리의 다른 글

JavaScript- while, do while문  (0) 2023.04.05
JavaScript- switch문  (0) 2023.04.05
JavaScript- if문  (0) 2023.04.05
JavaScript- 연산자  (0) 2023.04.05
JavaScript- 변수, 자료형(type)  (0) 2023.04.04

+ Recent posts