티스토리 뷰

Javascript

Javascript 이란?

서스포PAR 2021. 9. 27. 19:05

 

 

자바스크립트? 여러번 들었으나 요점이 확 정리되지 않았다.

프로그램의 동적인 행동들을 실행 할 수 있지만 어떤것을 사용할 수 있는것인가?

 

계속해 의문이 들었다. 🤦‍♂️🤦‍♀️ 

 

 


 

💖 Javascript[객체(object)기반의 스트립트 언어]

 

1. 자바스크립트는 ‘웹페이지에 생동감을 불어넣기 위해’ 만들어진 프로그래밍 언어입니다.


2. 클라이언트 측 웹(브라우저)에서 실행되고, 웹페이지가 이벤트 발생시 어떻게 작동하는지 디자인 및 프로그래밍 가능합니다.


3. 강력한 스트립트 언어로 웹 페이지 동작을 제어하는데 널리 사용됩니다.

 


🎁 참고자료 🎁

https://ko.javascript.info/
http://www.tcpschool.com/javascript/js_intro_basic

 

 


📑 스크립트

- 자바스크립트로 작성한 프로그램을 스크립트(script)라고 부릅니다. 

 

- 스크립트는 웹 페이지의 HTML안에 작성할 수 있습니다.

 

- 웹 페이지를 불러올 때 스크립트가 자동으로 실행됩니다

 

- 스크립트는 컴파일 없이 보통의 문자 형태로 작성 및 실행할 수 있다.

 

- 브라우저에는 '자바스크립트 가상머신'이라고 불리우는 엔진이 내장되어있다.

 

- 자바스크립트 엔진(JavaScript Engine)이라고 불리는 특별한 프로그램이 들어있는 모든 디바이스에서도 동작한다.

 

 

 


 

📑  엔진 동작의 기본원리

엔진은 프로세스 각 단계마다 최적화를 진행한다. 최적화 과정을 거치면 스크립트 실행 속도는 더욱 더 빨라진다. 컴파일이 끝나면 실행 중인 코드를 감시하면서, 이 코드대로 흘러가는 데이터를 분석한다. 또 분석결과를 토대로 기계어로 전환된 코드를 다시 최적화 하기도한다.

 

1. 엔진(브라우저라면 내장 엔진)이 스크립트를 읽는다.(=파싱)

 

2. 읽어 들인 스크립트를 기계어로 전환한다. (=컴파일)

 

3. 기계어로 전환된 코드가 실행되면 기계어로 전환되었으므로 싱핼속도가 빠르다.

 

 

 


👏 Javascript 의 특징

1. 객체기반의 스크립트 언어

 

2. 동적이며, 타입을 명시할 필요가 없는 언프리티 언어.


3. 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현이 가능한 언어.


4. 안전한 프로그래밍 언어. 메모리나 CPU의 접근이 필요하지 않은 브라우저를 대상으로 만들어진 언이이므로 조작을 하용하지 않는다. 


5. HTML안에 스크립트를 작성할 수 있으며, 웹페이지를 불러올 때 스크립트가 자동으로 실행.


6. 자바스크립트는 브러우저 뿐만아니라 서버에서도 실행 할 수 있다.


7. 자바스크립크 엔진이 들어가 있는 모든 디바이스에서 동작한다. (브라우저엔 자바스크립트 가상 머신이라 불리는 엔진이 내장되어 있는데, 엔진의 종류는 다양하며 엔진마다 특유 코드네임 존재. )

 


👍 Javascript 의 장점

1. HTML/CSS와 완전히 통합 가능하다.

 

2. 다른언어들에 비해 단순한 구조와 원칙을 갖고있어 배우기 쉽다.

 

3. 간단한 일은 간단하게 처리할 수 있게 해줍니다.(컴파일 과정이 필요없기에 빠르게 코드작성 가능)


4. 모든 주요 브라우저에서 지원하고, 기본 언어로 사용됩니다.


5. 웹에 특화된 기술이기 때문에 운영체제나 플랫퐁에 상관없이 잘 작동되고 확정성이 높다.


6. 브라우저 환경에서 웹페이지 조작 및 클라이언트 서버의 상호작용에 관한 모든일을 할 수 있다.    
ex) HTML 혹은 스타일 수정, 쿠키를 가져오거나 설정, 사용자에게 질문을 건네거나 메세지 노출 등.


7. 서버나 모비을 앱 등을 만드는 것도 가능하다.

 

 


 👎 Javascript 의 단점

1. OS에 직접 접근할 수 없다.

 

2. 하드디스크를 읽거나 쓸 수 없다.


3. 다른 프로그램을 호출할 수 없다.


4. 자바스크립트는 도메인이 동일한 두 탭/ 윈도우를 제외하고 탭/윈도우 간의 통신을 수행할 수 없다.


5. 자바스크립트는 웹 브라우저에서 실행되기 때문에 일부 보안상의 제약이 있다.

   (악성 웹페이지가 개인 정보에 접근하거나 사용자의 데이터를 손상하는 것을 막기 위함)


6. 일반적으로 자바스크립트는 자체 도메인에 대해서만 제한없이 네트워크 요청을 보낼 수 있다.

 

 


📑 언프리티 언어

컴파일 작업을 거치지 않고, 소스 코드를 바로 실행할 수 있는 언어를 의미한다.

 

📑 컴파일

고급언어(CHILL, COBOL, FORTRAN 등으로 인간이 구분하기 쉬운 언어)로 작성된 프로그램을 기계어(컴퓨터 등의 기계가 이해할 수 있는 언어)로 번역하는 것을 컴파일이라고 하고 이것을 처리하는 프로그램을 컴파일러라고 한다.

 

 

 


 

웹 페이지의 동작을 제어하는 스크립트 언어 & 객체 기반 & 비 브라우저 환경에서도 사용

프로토타입 기반의 동적 다중 패러다임 스크립트 언어로, 객체지향형, 명령형, 함수형(합수형 프로그래밍 등) 지원

 

 

 

 


 

💻Javascript 의 역사

자바스크립트는 1995년에 넷스케이프(Netscape)의 브렌던 아이크(Brendan Eich)에 의해 만들어졌습니다.

모카(Mocha) ▶ 라이브스크립트(LiveScript) ▶ 자바스크립트(JavaScript) 이름으로 변경됩니다.

 

🏆 Javascript의 표준

1996년에 넷스케이프(Netscape)는 자바스크립트를 국제 표준안으로 만들기 위해 ECMA(European Computer Manufacturers Association)에 제출합니다. 그 결과 ECMA는 ECMAScript라는 새로운 표준을 제정하였고, 그 첫 번째 버전인 ECMA-262를 1997년에 공표합니다. ECMAScript는 자바스크립트뿐만 아니라 마이크로소프트의 JScript나 어도비의 액션스크립트도 따르는 국제 표준이 됩니다.


현재 자바스크립트의 최신 표준은 2015년에 발표된 ECMAScript 6입니다.

 

 

 

🎁 참고자료 🎁


https://www.ecma-international.org/

https://developer.mozilla.org/ko/docs/Web/JavaScript

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함