728x90
반응형

[JS의 역사]

    • JavaScript가 나온 이유
      • JavaScript는 원래 웹 페이지에 동적인 효과를 주기 위해 만들어진 스크립트 언어어에요. 1995년에 웹사이트들이 점점 많아지면서, 단순히 글이나 이미지로만 구성된 정적인 웹 페이지에 그치지 않고, 사용자가 클릭하거나 입력하는 것에 반응하는 동적인 웹 페이지가 필요해졌어요. 그래서 넷스케이프라는 회사가 LiveScript라는 언어를 만들었고, 나중에 이 이름은 JavaScript로 바뀌었어요. 웹 페이지의 부드러운 상호작용을 위해 HTML과 CSS와 함께 사용되었어요.
  • JavaScript의 발전
    • JavaScript가 인기를 끌면서, 이를 표준화하고 성능을 더 높이기 위한 노력이 시작됐어요. 그래서 1999년에는 ECMAScript라는 이름으로 JavaScript 표준이 만들어졌고, 덕분에 여러 웹 브라우저에서 똑같이 작동하게 됐어요.
    • 그리고 2005년에는 AJAX라는 기술이 나오면서, 웹 페이지 전체를 새로고침하지 않고도 서버와 데이터를 주고받을 수 있게 되었어요. 이 기술 덕분에 웹사이트가 훨씬 빠르고 사용자 친화적으로 변했어요. 예를 들어, 우리가 채팅을 할 때 페이지를 다시 로드하지 않아도 바로바로 대화가 가능하죠!
  • V8 엔진의 등장
    • 2008년, 구글은 JavaScript의 속도를 더욱 빠르게 만들기 위해 V8 엔진이라는 것을 만들었어요. 이 엔진은 구글 크롬 브라우저에서 사용되면서, 웹 페이지가 빠르고 매끄럽게 동작하게 했어요.
  • Node.js의 등장
    • 이것에 그치지 않고 V8 엔진의 우수한 성능을 기반으로 2009년, Node.js라는 도구가 등장하면서 JavaScript로 서버까지 만들 수 있게 되었어요. 이전에는 서버 개발을 위해 다른 언어들이 필요했지만, 이제는 JavaScript만으로도 웹사이트의 앞부분(프론트엔드)과 뒷부분(백엔드)을 모두 개발할 수 있게 되었죠. 이렇게 JavaScript는 FullStack 개발을 할 수 있는 강력한 도구로 자리 잡았어요.
  • ES6와 프론트엔드 프레임워크의 대중화
    • 2015년에는 ES6라는 JavaScript의 새로운 버전이 나왔어요. 이 버전에서는 더 쉽고 효율적으로 코드를 작성할 수 있는 다양한 기능이 추가되었죠. 그뿐만 아니라, React, Vue, Angular 같은 프레임워크들이 등장하면서 웹 개발이 더욱 쉬워졌어요. 이 도구들 덕분에 대규모 웹 애플리케이션을 더 쉽게 만들고 관리할 수 있게 되었어요.
더보기

[정리]

  • 1995년 자바스크립트 탄생
    • 🌐 넷스케이프 커뮤니케이션(LiveScript → Javascript)
    • 🖥️ 브라우저 동작 스크립트 언어
  • 1999년 자바스크립트 표준화(ECMA-262) 완료
  • 2005년 AJAX 등장
    • 웹 페이지 전체를 다시 로드하지 않고도 서버와 데이터를 주고받을 수 있도록 해줌   
    • 비동기 웹 애플리케이션 개발 가능
    • 폭발적인 UX 향상 🚀
  • 2008년 V8 엔진 출시(google)  
    • super fast(코드 실행 속도 상당부분 개선)
    • 🛠️ 컴파일러, 메모리관리 시스템 👍
  • 2009년 Node.js 등장, 서버 개발 활성화
    • 서버개발의 지각변동 : PHP, Ruby, Python, Java → Javascript(Node.js)
    • 하나의 언어 → FrontEnd + BackEnd + DB(MongoDB) = FullStack
  • 2015년 ECMAScript 6(ES6) 버전 출시 🚀
  • 2016년 프론트엔드 프레임워크(React, Vue, Angular) 대중화, SPA 개발 활성화 🌟
  • 현재 자바스크립트는 프론트엔드 및 백엔드 개발 분야에서 널리 사용되며, Node.js를 이용한 서버 개발도 활발하게 이루어지고 있습니다.

 

[JS 언어의 특징]

[1] 객체 지향 프로그래밍 지원

자바스크립트는 객체 지향 프로그래밍이 가능한 언어로서, 객체를 생성하고 관리하는 데에 강점이 있다. 이를 통해 복잡한 기능을 구현할 수 있다.

 

객체지향 vs 절차지향

  • 절차지향 프로그래밍: 프로그램을 순서대로 작성하는 방식이다. 예를 들어, 첫 번째 작업을 처리하고, 그 다음 작업을 처리하는 식으로 프로그램을 만드는 거죠.
  • 객체지향 프로그래밍: 데이터를 객체라는 그룹으로 묶어서 처리한다. 객체는 속성(상태)과 메소드(행동)를 가지고 있으며, 이를 통해 프로그램을 구성한다.

 

[2] 동적 타이핑

자바스크립트는 동적 타이핑을 지원한다. 이게 뭐냐면, 변수를 선언할 때 데이터 타입(숫자, 문자열 등)을 지정하지 않아도 된다는 뜻이. 즉, 변수에 어떤 값이 들어가느냐에 따라 그 타입이 자동으로 결정된다.

자바스크립트는 런타임 시점에 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정된다

선언 할당이라는 단어에 주목해주세요! 🥸

let myVariable = "Hello, world!"; // 변수 선언 및 문자열 데이터 타입으로 할당
console.log(typeof myVariable); // "string" 출력

myVariable = 123; // 숫자 데이터 타입으로 할당
console.log(typeof myVariable); // "number" 출력

myVariable = true; // 불리언 데이터 타입으로 할당
console.log(typeof myVariable); // "boolean" 출력
더보기

ℹ️ 런타임(Runtime)?

런타임 시점이란, 프로그램이 실행되는 동안의 시점을 의미한다. 즉, 코드가 실행되는 동안에 발생하는 시점을 말한다. 반대의 의미로는 컴파일 시점이 있어요.

 

[3] 함수형 프로그래밍 지원

자바스크립트는 함수형 프로그래밍을 지원하는 언어로서, 함수를 일급 객체로 취급하고, 고차 함수를 지원한다.

이게 뭐냐면, 함수형 프로그래밍이란 함수를 마치 값처럼 다루는 프로그래밍 스타일이다. 따라서 변수에 할당하거나, 함수의 인자로 전달하거나, 함수의 반환값으로 사용할 수 있다. 이를 통해 코드의 재사용성과 가독성을 높일 수 있다.

 

[4] 비동기 처리

비동기 처리란 작업을 순차적으로 기다리지 않고, 동시에 여러 작업을 처리하는 방식이다. 예를 들어, 웹 페이지에서 데이터를 가져오는 동안 다른 작업을 멈추지 않고 계속할 수 있게 해준다.

 

[5] 클라이언트 측 및 서버 측 모두에서 사용 가능

자바스크립트는 웹 브라우저에서만 사용하는 언어로 시작했지만, 지금은 Node.js를 이용하여 서버 측에서도 사용다. 이를 통해 웹 개발 전반에 걸쳐 자바스크립트를 활용할 수 있다.

 

728x90
반응형

+ Recent posts