ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JavaScript 00. 자바스크립트란 무엇인가?
    JavaScript/1주차-JavaScript 문법 2023. 5. 23. 15:33

    JavaScript 

     

    2005년 -> AJAX 등장 -> UX (User Experience), 사용자 경험 향상

    2008년 -> V8엔진 구글 크롬 탑재

    2009년 -> Node.js 등장

     

    Node.js는 서버개발의 가히 지각변동이었다. PHP, Ruby, Python, Java -> JavaScript (Node.js)

    하나의 언어 -> FrontEnd + BackEnd + DB (MongoDB) = FullStack

     

     

    1. 자바스크립트는 객체지향 언어이다.

    객체지향 : 순서상관없이, 데이터와 함수를 '객체'라는 그룹으로 묶어서 처리. 객체는 상태와 행동을 갖고 있으며, 상태는 객체의 속성(property)라고도 함.

     

    절차지향 : 객체지향의 반대의미로써, 말 그대로 절차에 따라 일을 순서대로 처리하는 것. 첫번째 일 끝나고 두번째 일, 두번째 일 끝나고 세번째 일 처리하는 식.

     

    JS에서 객체를 만들 때는?

    자바스크립트에서 객체를 만들 때는 **중괄호({})**를 사용하여 객체를 만들고, 각 속성을 **쉼표(,)**로 구분하여 추가한다. 속성은 이름과 값을 가지며, 이름은 문자열로 작성하고, 값은 다양한 데이터 타입을 사용할 수 있다. 객체 내부의 함수를 **메소드(method)**라고 부르며, 속성의 값으로 함수를 추가할 수 있다. 객체를 만들어서 필요한 속성과 메소드를 추가하여 사용한다.

     

     

     

    2. 자바스크립트는 동적타이핑 언어이다.

    자바스크립트는 변수 선언시, 타입을 지정하지 않고, '런타임 시점'에 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정됨. 즉, 터미널 실행시킬 때 데이터 타입 결정됨. 여기서 런타임이란, 터미널에 명령어를 입력하고 엔터할때를 말함.

     

    예를들어서 자바(Java)에서는

     
      string a = "abc"
     

    여기서 String = 타입, a = 변수임. 

     

    하지만 자바스크립트(JavaScript)에서는


      var a = "abc"
     

    여기서 a는 변수이지만, var은 타입이 아님. var는 런타임(run time)시점에 결정되며, 즉 코드를 미리 짜놓는게 아니라, 코드가 다 짜여진 상태에서 프로그램이 돌아갈 때 타입이 결정됨. (런타임의 반대의 의미는 컴파일(compile)시점)

     

     

     

    3. 자바스크립트는 함수형 프로그래밍을 지원한다.

    JavaScript는 함수를 일급객체로 취급하고, 고차함수를 지원한다. 이를 통해, 코드의 재사용성과 가독성을 높일 수 있다. 

     

    3-1. 일급객체 (first-class object)

    일급 객체(first-class object)란, 함수를 일반 값과 마찬가지로

     

    1. 변수에 할당하거나,

    2. 함수의 인자로 전달하거나,

    3. 함수의 반환값으로 사용할 수 있는 객체를 의미

     

    3-2. 고차함수 (higher-order function)

    고차 함수(higher-order function)란,

    1. 함수를 인자로 받거나,

    2. 함수를 반환하는 함수

     

     

    4. 자바스크립트는 비동기처리 방식이 가능하다.

    비동기 처리는 작업을 순차적으로 기다리지 않고, 병렬로 처리할 수 있도록 하는 방식임.

     

     

    5. 자바스크립트는 클라이언트(FrontEnd) 및 서버(BackEnd) 모두 사용 가능하다.

    자바스크립트는 클라이언트 측에서만 사용되는 것이 아니라, Node.js를 이용하여 서버 측에서도 사용된다. 이를 통해 웹 개발 전반에 걸쳐 자바스크립트를 활용할 수 있다.

    댓글

Designed by Tistory.