JavaScript와 타 언어 차이점

솜주먹·2022년 10월 11일
0

항해99

목록 보기
29/37
post-thumbnail

📖 동적인 언어이며 객체 지향 언어이다

💬 객체 지향이라고?

  • JavaScript는 Prototype기반 객체 지향 언어
  • Class기반 객체 지향과 Prototype기반 객체 지향 존재
  • Class와 Prototype의 차이
    1. Class 기반 언어는 객체의 형식이 정의된 class라는 개념을 가지고
    객체를 찍어냄
    1. Prototype 기반 언어는 class라는 개념이 없고 객체 prototype의
      위임 과정을 통해 상속이 됨
      3. 따라서 객체끼리의 chaining을 통해 동적으로 표현됨

📖 동기적인 특성을 가져 작성 순서대로 실행

💬 비동기 통신도 가능하던데?

  • 기본적 단일 스레드 기반 언어이기에 한번에 하나의 task를 수행할 수 있음
  • 자바스크립트 엔진 동작원리(Stack, Queue, event loop) 의해서 task가 순서대로 실행되지 않을 수도 있고, 비동기적 형태를 띌 수 있음

📖 JavaScript 와 Java의 차이점

💬 JavaScript

  • 웹 프로그래밍을 위한 객체지향 스크립트 언어
  • 실행환경 : 추가적인 환경 설정 필요 X(브라우저 동작에 따라감)
  • 변수 & 컴파일 : 변수 자료형을 미리 선언하지 않아도 브라우저가 자동으로 파악한다.
    또한, 텍스트로 쓰인 코드로 실행될 수 있는 스크립트 언어이다.
  • 사용범위 : 다양한 웹 브라우저에서 이용되며, 자바스크립트가 실행되려면 HTML, CSS에 의존해야 한다

💬 JAVA

  • 객체지향 프로그래밍 언어
  • 실행환경 : 추가적이 환경 설정 필요 O(JRE, JDK)
  • 변수 & 컴파일 : 변수 자료형이 반드시 선언되어야 하며, 프로그래밍 언어이기 때문에
  • 컴퓨터가 이해할 수 있도록 컴파일되어야 한다.
  • 사용범위 : 거의 모든 환경에서 활용되며 다양한 운영체제에서 실행될 수 있는 독립적인 언어이다.

💡 답변

자바스크립트와 타언어의 차이점은?

JavaScript는 웹 프로그래밍을 위한 느슨한 타입의 동적 언어이며
prototype기반 객체지향 언어입니다.
다른 특징으로는 단일 스레드기반 언어이기에 동기적인 특성을 가져 순서대로 코드가 실행됩니다.
비동기 작업도 가능한 이유는 v8엔진 원리중 event loop의 도움을 받아 비동기 형태를
가지기 때문입니다.

0개의 댓글