JavaScript

나쿠크·2023년 3월 4일
0

JavaScript가 무엇일까?

  • 역사 : 지금 자바스크립트는 아주 널리, 필수로 쓰이고 있는 스크립트 언어지만 그 시작은 단 10일이였다. 1995년 넷스케이프에서 근무하던 브랜든 아이크에 의해 10일만에 탄생된 자바스크립트. 그는 그때 자바스크립트가 이렇게까지 사용될 줄 알았을까?
    처음 이름은 Mocha로 시작으나 4달만에 LiveScript로 개명하고 다시 3달 후에 Java와 비슷한 JavaScript로 개명하면서 유명세를 타기시작하고 지금까지 이어지고 있다. 개명 이유를 Java와 비슷한 구문을 사용하기 때문이라고 했지만, 당시 유명했던 Java에게 묻어가기 위함이 아닌가하는 의견들이 많다. 결과적으로 그런 의도는 성공적인 결과를 끌어냈다.
    나도 처음 JavaScript 공부를 시작했을때 Java와 이름이 비슷해서 비슷한 언어인가 하는 의문을 갖고 찾아봤었다. 그렇게 알게 된 둘의 관계는 햄과 햄스터 정도라는 것!

JavaScript의 특징
JavaScript는 약 28년간의 발전을 거쳐오면서 성숙한 프론트 프로그래밍의 기본언어로 자리 잡게 되었습니다. 브라우저들은 ECMA 표준사항을 따라가고 있으며 그로 인해 제이쿼리같은 라이브러리의 도움이 필요하지 않게 됩니다.

  • 싱글 스레드 언어
    싱글 스레드 언어이기 때문에 코드가 작성된 순서대로 작업이 처리됩니다.
    이것을 동기방식이라하며 다른 작업이 불가능하도록 막습니다.(블로킹)
    반대로 비동기 방식은 기다리지 않고 실행하겠다(논블로킹)는 의미입니다. (2초 setTimeout을 걸어도 기다리지않고 다음 애가 실행됨) 자바스크립트에서 어떻게 비동기 방식을 처리하는 지는 다른 글에서 다루겠습니다.
  • SPA(Single page Application)는 완전한 새로운 페이지를 불러오지않고 업데이트된 필요한 데이터만 불러오는 기법으로 전체적인 트래픽 감소와 렌더링에서 좋은 효율을 낸다는 이점때문에 최근에 많이 사용되고 있는데 JavaScript만으로 구현이 가능하나, 더욱 쉽게 만들기 위해 React나 Angula, Vue 등의 프레임 워크의 도움을 받습니다.
    -객체 지향 언어
    JavaScript를 구성하는 거의 모든것이 객체입니다. 원시형(단하나의 값만을 나타냄)을 제외한 모든것이 관계성있는 객체들의 집합이라고 볼 수 있습니다. 명령형, 함수형, 프로토타입 기반 객체 지향 언어입니다. JavaScript는 클래스 개념이 없고 별도의 객체 생성 방법이 존재합니다.
//객체 리터널
const object = {};
object.name = 'Nia';   
//object() 생성자 함수
const obj = new Object();
obj.name = 'Nia'
//생성자함수
function O(){}
const obj2 = new O();
obj2.name = 'Nia';

JavaScript의 이점

  • JavaScript는 인터프리터 언어이기 때문에 Java와 같은 컴파일이 필요한 프로그래밍 언어에 비해 시간이 적게 소요됩니다.
    인터프리터 언어란? : 프로그래밍 언어를 컴파일하여 기계언어로 바꾸지 않고 바로 실행할 수 있는 언어를 뜻한다.
  • 대중화되어 있기 때문에 정보를 얻기 쉽고 소스를 접하기 쉬우며 접근하기 용이하다는 장점이 있습니다.

JavaScript를 직접써보면서 느낀 장점 & 단점
퍼블리셔로 근무를 시작했기때문에 JavaScript보다 JQuery를 먼저 접했었습니다. 그래서 JQuery와 비교를 하면서 느낄 수 있었던 점은,

  • 먼저 문법에서 차이를 느낄 수 있습니다. 개인적으로 JQuery 문법이 더 쉽고 간결하게 느껴졌습니다.
//JQuery
$('.blackBox').css('background-color', 'black') 
//JavaScript
const blackBox = document.getElementById("blackBtn"); 
blackBox.addEventListener("click", (e) => {
  document.body.style.backgroundColor = "black";
});

예제코드에서 볼 수 있듯이 직관적으로 보기에도 JQuery 문법이 짧고 간결함이 느껴진다.
하지만 그 처리속도에서 차이가 느낄 수 있는데 JQuery는 단계를 거쳐서 실행되기 때문에 JavaScript보다 느립니다.


공부하면서 참고했던 모든 것
1. 무료강좌

  1. 유료강좌
  1. 인사이트

0개의 댓글