자바스크립트는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다. 자바스크립트는 기존의 프로그래밍 언어에서 많은 영향을 받았다. 기본 문법은 C, Java와 유사하고 Self에서는 프로토타입 기반 상속을, Scheme에서는 일급 함수의 개념을 차용했다.
자바스크립트는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어(Interpreter language)이다. 대부분의 모던 자바스크립트 엔진(Chrome의 V8, FireFox의 Spidermonkey, Safari의 JavaScriptCore, Microsoft Edge의 Chakra 등)은 인터프리터와 컴파일러의 장점을 결합하여 비교적 처리 속도가 느린 인터프리터의 단점을 해결했다.
인터프리터는 소스코드를 즉시 실행하고 컴파일러는 빠르게 동작하는 머신 코드를 생성하고 최적화한다. 이를 통해 컴파일 단계에서 추가적인 시간이 필요함에도 불구하고 보다 빠른 코드의 실행이 가능하다.
자바스크립트는 명령형(imperative), 함수형(functional), 프로토타입 기반(prototype-based) 객체지향 프로그래밍 을 지원하는 멀티 패러다임 프로그래밍 언어 다.
비록 다른 객체지향 언어들과의 차이점에 대한 논쟁들이 있긴 하지만, 자바스크립트는 강력한 객체지향 프로그래밍 능력을 지니고 있다. 간혹 클래스(ES6에서 새롭게 도입되었다), 상속, 정보 은닉을 위한 키워드 private가 없어서 객체지향 언어가 아니라고 오해(자바스크립트는 가장 많은 오해를 받는 언어이다.)하는 경우도 있지만 자바스크립트는 클래스 기반 객체지향 언어보다 효율적이면서 강력한 프로토타입 기반의 객체지향 언어 이다.
현재에 이르러서는 Single page application도 JS만으로 충분히 구현할 수 있지만 더 쉽고 효율적으로 하기위해 React, Angular, Vue 같은 친구들이 탄생했다.
오늘 웹과 자바스크립트에 대한 글을 봤다.. 사실 아직 역사와 특징들이 잘 이해되지는 않지만
위에 현대 자바스크립트의 특징 정도는 어느 정도 이해가 되는 것 같다! 잘은 모르겠지만 JS와 조금은 친해진 기분 앞으로 천천히 알아가면서 JS를 내 여자친구로 만들겠다!(군대에서도 자기 총을 여자친구로 생각하라는것 처럼)
요즘 들어 집중력도 떨어지고 머리로 이해도 안 되고 자꾸 힘이 푸욱푸욱 빠지는 기분이다🫨
열심히 해야지 해야지 하면서도 막상 열심히가 왜 안되는지.. 아주 조금씩이나마 실력이 늘고 있음은 분명한데 재미를 느낄 만큼의 실력이 되질 않는다😭 그래도 오늘 특강을 들으면서 조금의 위로가 됐고 늦었다고 생각했지만 늦은 만큼 반복하고 반복해서 조금씩 실력을 늘려가면 언젠가 성장해 있겠지! 일단 조급해하지 말고 꾸준히 하자아아악 그리고 처음 했는데 잘하는 사람들이 이상한 거야!(아마도)
화이팅 김민석 ㅎㅇㅌ ㅎㅇㅌ ㅎㅇㅌ
화이팅!! 🔥🔥🔥