일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- dfs
- ip
- socket
- 쉬운 문제
- dp
- 문자열
- Algorithm
- HTTP 완벽 가이드
- 타입 챌린지
- 크롤링
- javascript
- 가천대
- typescript
- 그래프
- 소켓
- Crawling
- 백준
- 알고리즘
- Nestjs
- BFS
- Node.js
- 레벨 1
- 프로그래머스
- HTTP
- TCP
- 수학
- type challenge
- 자바스크립트
- 타입스크립트
- 프로그래머스 레벨 2
- Today
- Total
kakasoo
JavaScript의 특징 본문
1. 인터프리터 언어
JavaScript는 기본적으로 인터프리터 언어이다.
인터프리터는 브라우저에서 F12 개발자 모드 ( 크롬의 경우 ) 를 눌러 한 줄씩 코딩 가능한 것을 말한다.
인터프리터 언어는 조금 느린 대신에, 개발자에게 조금 더 친화적인 것이 특징이다.
모든 라인이 컴파일이 이루어진 후에 전체적인 코드를 디버깅할 수 있는 컴파일 언어와 달리,
인터프리터 언어는 한 줄 씩 그 내용을 확인해가면서 코드를 짤 수 있다.
2. 객체지향과 함수형
C++과 Java는 클래스를 이용하여 객체를 생성하는 클래스 기반의 객체지향 언어이다.
반면 JavaScript는 프로토타입 (Prototype) 을 상속하는 프로토타입 기반 객체지향 언어이다.
JavaScript에서는 객체를 생성한 후에도 프로퍼티와 메서드를 동적으로 추가할 수 있다.
JavaScript가 C++, Java와 다른 점이 있다면, JavaScript는 함수형 프로그래밍도 가능하다는 점이다.
- 프로토타입에 관한 건 추후 하나의 글을 작성하겠다.
- 함수형 프로그래밍도 마찬가지로, 나중에 다른 글에서 설명하겠다.
3. 동적 타입 언어
타입이 정해진 언어에서, 한 번 정해진 타입은 다른 타입으로 변경될 수 없다.
하지만 JavaScript에서는 숫자를 넣은 어떤 변수에 숫자 대신 문자열을 넣는 등 타입을 변경할 수 있다.
이런 특징은 JavaScript가 동적 타입 언어라고 불리는 이유이다.
JavaScript의 Super Set인 TypeScript에서도 이런 점은 유지된다.
TypeScript는 각 변수마다 타입을 명시하지만, 다른 언어처럼 완벽하게 타입을 통제하지 않는다.
4. 그 외
- JavaScript는 함수가 일급 객체다.
- 함수가 클로저를 정의한다.
- ECMAScript가 규정한 코어 언어와 웹 브라우저의 API로 구성된다.
22.03.13
기존의 글은 네이버 부스트캠프에 지원하기 전, 즉 1년 하고도 반 년 전에 작성했다.
JavaScritpt를 만져본 적도 없던 때라, 나 스스로부터 이해가 없는 상태로 작성했었다.
이제는 JavaScript, TypeScript, Node.js를 주로 사용하여, 예전에 작성한 내용을 고쳐보고자 한다.
'프로그래밍 > JavaScript' 카테고리의 다른 글
[javaScript] 객체와 생성자, Symbol() (0) | 2020.08.02 |
---|---|
[javaScript] 가비지 컬렉션 (0) | 2020.08.02 |
[javaScript] 형변환과 테스트하기 좋은 코드 (0) | 2020.08.01 |
JavaScript의 배열 (0) | 2020.08.01 |
JavaScript의 변수 기초 (0) | 2020.07.12 |