Coder Social home page Coder Social logo

javascript-study's Introduction

자바스크립트 Study

javascript-study's People

Contributors

winter-climbing avatar

Watchers

 avatar

javascript-study's Issues

2장 자바스크립트란?

자바스크립트란?

1.1 자바스크립트란 (JS)

  • 브렌던 아이크와 넷스케이프의 주도로 개발
  • 원래 이름은 모카 (1996 3월)
  • 근데 사람들이 안 써서 자바의 인기에 편승하려고 자바스크립트로 개명 (1996 12월)
  • 다른 한 편에서는 MS가 Jscript을 만들어 IE에 탑재함. 이 위기를 헤쳐 나가기 위해서 생각해낸게 표준화

1.2 자바스크립트의 표준화

  • Jscript의 개발은 단순히 점유율의 문제에서 그치지 않고 크로스 브라우징 이슈를 만들어냄
  • 결국 1996년 11월 비영리 표준화 기구인 ECMA 인터내셔널에 JS의 표준화 요청
  • 이후 명문화 작업과 기능 업데이트 계속됨
  • 가장 중요한 업데이트는 ES6(2015)으로 일컬어지는 업데이트로 let/const, 클래스, 템플릿 리터럴 등이 이 때 등장

1.3 자바스크립트 성장의 역사

1.3.1 Ajax (Asynchronous JavaScript and XML)

  • 초기의 자바스크립트는 웹페이지의 보조적인 기능을 수행하는 언어에 불과
    (로직은 웹 서버에서 실행)
  • 당시의 웹페이지는 화면이 전환되면 모든 부분을 새로 다운 받아 렌더링 작업을 시작했고 이에 따라 극심한 비효율 발생
  • Ajax는 웹페이지에서 변경할 필요가 없는 부분은 놔두고, 필요한 데이터만 전송 받아 한정적으로 렌더링을 실시하면서 웹 브라우저에서도 데스크톱 애플리케이션과 유사한 성능을 구현 (ex – google maps)

1.3.2 V8 자바스크립트 엔진

  • 구글 맵스를 통해 웹 어플리케이션의 가능성을 본 구글이 웹 어플리케이션을 효과적으로 작동하게 하기 위한 V8 JS 엔진을 만듦
  • 이는 프런트엔드 영역이 주목받는 계기로 작용

1.3.3 Node.js

  • 브라우저 이외의 환경에서도 JS로 개발할 수 있는 환경을 만들고자 했음
  • Node.js는 비동기 I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작하여 요청 처리 성능이 좋음
  • 따라서 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA에 적합하지만 CPU 사용률이 높은 애플리케이션에는 비추천

1.3.4 SPA 프레임워크

  • 점점 복잡해진 개발 과정 수행이 어려워졌고, 이러한 필요에 따라 많은 패턴과 라이브러리 출현
  • 그러면서도 변경에 유연하면서 확장하기 쉬운 애플리케이션 아키텍처의 구축을 위해 프레임워크 등장

1.4 자바스크립트의 특징

  • 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
  • 컴파일 작업을 별도로 수행하지 않는 인터프리터 언어
  • 브라우저들은 모던 자바스크립트 엔진을 쓰고 있고 이는 인터프리터와 컴파일러의 장점을 결합해 비교적 처리 속도가 느린 인터프리터의 단점을 해결
  • 명령형, 함수형, 프로토타입 기반, 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.