JavaScript — JS에 대해 아는 모든 것

Nov 30 2022
JavaScript(JS라고도 함)에는 학습에 매우 필수적인 몇 가지 핵심 개념이 있습니다. 이 블로그에서는 JS의 중요한 개념에 대해 짧지만 핵심적인 데모를 제공하려고 했습니다.

JavaScript(JS라고도 함)에는 학습에 매우 필수적인 몇 가지 핵심 개념이 있습니다. 이 블로그에서는 JS의 중요한 개념에 대해 짧지만 핵심적인 데모를 제공하려고 했습니다. 분명히 이러한 주제를 배운 후에는 JavaScript가 덜 이상하게 느껴질 것입니다. 그래서 더 이상 고민하지 않고! 시작하자.

높은 추상화
프로그래밍에서 높은 추상화란 비교적 복잡한 부분은 숨겨지고 단순화된 부분이 표시됨을 의미합니다. 고추상화 언어의 구문은 C와 같은 저수준 언어와 비교할 때 쉬우며 Java는 프로그래머가 JavaScript, Python, Go 등과 같은 고추상화 언어로 작업하는 것을 더 쉽게 만듭니다.

가비지 수집기
C와 같은 저수준 언어와 달리 JavaScript에서는 수동으로 메모리를 유지할 필요가 없습니다. 오히려 JavaScript는 Garbage Collection이라고 하는 자동 메모리 관리를 사용합니다. Mark-and-Sweep 알고리즘을 사용하여 JavaScript 엔진은 사용되지 않은 메모리 할당을 자동으로 수집한 다음 제거합니다.

JIT 컴파일
JIT(적시) 컴파일의 도움으로 프로그램은 실행 시간 동안 네이티브 코드로 컴파일되어 성능을 향상시킵니다. 최신 브라우저는 JIT 컴파일을 지원하여 실행 시간을 더 빠르게 만드는 JavaScript 코드를 컴파일합니다.

다중 패러다임
다중 패러다임 언어를 사용하면 프로그래머가 여러 접근 방식으로 프로그램을 설계할 수 있습니다. JavaScript는 객체 지향 프로그래밍, 절차적 프로그래밍, 함수형 프로그래밍 등을 지원합니다.

프로토타입 기반
분명히 JavaScript는 프로토타입 기반 언어입니다. 즉, 복제 및 확장이 가능한 일반화된 객체 전체에서 객체의 속성과 메서드를 공유할 수 있습니다. 간단히 말해서 개체의 속성과 메서드를 복제할 수 있으며 새로 복제된 개체에 추가 속성과 메서드를 추가할 수도 있습니다.

Dynamically Typed
간단하게 자바스크립트에서는 변수의 유형이 런타임에 확인됩니다. 이를 위해 변수의 데이터 유형을 지정할 필요조차 없습니다. 또한 유형 강제라고 하는 실행 시간에 데이터 유형이 자동으로 변경될 수 있기 때문에 느슨하게 유형이 지정된 언어라고 합니다. 그러나 JavaScript의 상위 집합인 TypeScript는 정적 유형 언어입니다.

Single-Threaded
JS에는 하나의 호출 스택과 하나의 메모리 힙이 있습니다. 간단히 말해서 JavaScript에서는 한 번에 하나의 명령문만 실행됩니다.

비동기
단일 스레드 언어이지만 JavaScript는 콜백 큐 및 이벤트 루프의 도움으로 비동기적으로 작동합니다. 비동기 명령문은 콜백 큐에 저장되고 이벤트 루프에 의해 호출된 후 동기 작업이 실행될 때마다 실행됩니다.

Non-Blocking
Non-blocking은 추가 작업을 위해 실행을 차단하지 않는다는 개념을 나타냅니다. JavaScript는 확장된 I/O 작업 및 HTTPS 요청이 완료될 때까지 기다리지 않습니다. 기다리는 대신 콜백 대기열에 비동기 문을 저장하고 나머지 동기 작업을 실행합니다. 이 비 차단 개념은 이미 논의한 JavaScript의 비동기 동작과도 관련이 있습니다.

함수는 일급 시민입니다
함수는 JavaScript에서 일급 시민이라고 합니다. JavaScript에서 함수는 변수로 선언될 수 있고 다른 함수에서 인수로 전달될 수 있으며 함수에서 반환될 수 있기 때문입니다. 또한 함수는 개체의 메서드로 설정할 수 있습니다.

참고: 이 블로그에서는 JavaScript의 가장 중요한 기능과 특성에 대한 개요를 제공하려고 했습니다. 이제 위에서 언급한 주제에 대해 자세히 알아보는 것이 귀하의 의무입니다.