kakasoo

JavaScript의 특징 본문

프로그래밍/JavaScript

JavaScript의 특징

카카수(kakasoo) 2020. 7. 12. 15:13
반응형

1. 인터프리터 언어

JavaScript는 기본적으로 인터프리터 언어이다.

인터프리터는 브라우저에서 F12 개발자 모드 ( 크롬의 경우 ) 를 눌러 한 줄씩 코딩 가능한 것을 말한다.

인터프리터 언어는 조금 느린 대신에, 개발자에게 조금 더 친화적인 것이 특징이다.

모든 라인이 컴파일이 이루어진 후에 전체적인 코드를 디버깅할 수 있는 컴파일 언어와 달리,

인터프리터 언어는 한 줄 씩 그 내용을 확인해가면서 코드를 짤 수 있다.

2. 객체지향과 함수형

C++과 Java는 클래스를 이용하여 객체를 생성하는 클래스 기반의 객체지향 언어이다.

반면 JavaScript는 프로토타입 (Prototype) 을 상속하는 프로토타입 기반 객체지향 언어이다.

JavaScript에서는 객체를 생성한 후에도 프로퍼티와 메서드를 동적으로 추가할 수 있다.

JavaScript가 C++, Java와 다른 점이 있다면, JavaScript는 함수형 프로그래밍도 가능하다는 점이다.

  • 프로토타입에 관한 건 추후 하나의 글을 작성하겠다.
  • 함수형 프로그래밍도 마찬가지로, 나중에 다른 글에서 설명하겠다.

3. 동적 타입 언어

타입이 정해진 언어에서, 한 번 정해진 타입은 다른 타입으로 변경될 수 없다.

하지만 JavaScript에서는 숫자를 넣은 어떤 변수에 숫자 대신 문자열을 넣는 등 타입을 변경할 수 있다.

이런 특징은 JavaScript가 동적 타입 언어라고 불리는 이유이다.

JavaScript의 Super Set인 TypeScript에서도 이런 점은 유지된다.

TypeScript는 각 변수마다 타입을 명시하지만, 다른 언어처럼 완벽하게 타입을 통제하지 않는다.

4. 그 외

  1. JavaScript는 함수가 일급 객체다.
  2. 함수가 클로저를 정의한다.
  3. ECMAScript가 규정한 코어 언어와 웹 브라우저의 API로 구성된다.

22.03.13

기존의 글은 네이버 부스트캠프에 지원하기 전, 즉 1년 하고도 반 년 전에 작성했다.

JavaScritpt를 만져본 적도 없던 때라, 나 스스로부터 이해가 없는 상태로 작성했었다.

이제는 JavaScript, TypeScript, Node.js를 주로 사용하여, 예전에 작성한 내용을 고쳐보고자 한다.

 

반응형