[JS] 자바스크립트란?

eunseok·2023년 9월 26일
0

js공부

목록 보기
11/27

최근 프로젝트가 끝나고 기초의 중요성을 한번 더 깨닫고 난 뒤 기초부터 다시 탄탄하게 공부하려고 시간을 쏟고 있다. 오늘은 결국 FE 그 자체인 자바스크립트라는 언어에 대해 공부하였다.

JS

JavaScript는 웹 브라우저에서 실행되는 대표적인 스크립트 언어이다.
원래는 Mocha라는 이름으로 탄생하였다가 사람들의 관심을 끌기위해 그 시대 한창 유행이던 자바의 이름을따 자바스크립트가 되었다.

JavaScript는 동적인 기능을 웹 페이지에 추가하기 위해 설계된 인터프리터 언어이다.
이를 통해 사용자와 상호작용하는 웹 페이지를 만들거나, 비동기적으로 서버와 데이터를 교환하는 등 다양한 기능을 수행할 수 있다.

JS의 주요 특징

  • 동적 타이핑 : JavaScript는 동적 타입 언어로서, 변수 선언 시 변수의 데이터 타입을 명시하지 않아도 된다. 변수의 타입은 프로그램이 실행되는 도중에 변경될 수 있다

  • 객체 지향 프로그래밍: JavaScript는 클래스 기반 객체 지향 프로그래밍뿐만 아니라 프로토타입 기반 객체 지향 프로그래밍도 지원한다.

    클래스 기반 객체 지향 프로그래밍 vs 프로토타입 기반 객체 지향 프로그래밍

    클래스 기반 객체 지향 프로그래밍
    이 접근법은 클래스라는 '틀'을 먼저 정의하고, 그 클래스를 바탕으로 인스턴스(객체)를 생성한다.
    예를 들어, '동물'이라는 클래스가 있으면 '개'나 '고양이'와 같은 동물의 인스턴스를 만들 수 있다.
    상속도 클래스 간에 이루어진다. 예를 들어, '동물' 클래스에서 특정 메서드나 속성을 상속 받아 '개'나 '고양이' 클래스가 될 수 있다.

    프로토타입 기반 객체 지향 프로그래밍
    프로토타입 기반 객체 지향 프로그래밍은 클래스 개념 없이 객체를 생성하고 확장하는 방식의 프로그래밍 패러다임이다. 이 방식에서는 이미 존재하는 객체를 복제(혹은 클론)하거나, 필요한 부분을 직접 수정하여 새로운 객체를 생성한다.
    예를 들어, JavaScript에서 배열 메서드인 push()나 pop()을 사용할 수 있는 것은 모든 배열이 Array.prototype이라는 내장 프로토타입 객체의 메서드들을 상속 받기 때문이다.

    ES6(ES2015)부터 JavaScript에 class 문법이 도입되었지만, 실제로 내부 동작 원리는 여전히 프로토타입 기반이다.

  • 함수형 프로그래밍: JavaScript에서 함수는 일급 객체로 취급된다.
    이 말은 함수를 다른 함수의 인자로 전달하거나 반환값으로 사용할 수 있다는 것을 의미한다.

  • 비동기 처리: JavaScript에서 제공하는 Promise와 async/await 문법은 비동기 처리를 쉽게 할 수 있게 해준다. 또한 Ajax, Fetch API 등을 통해 서버와 비동기 통신을 할 수 있다.

JS는 초창기에 웹 브라우저 내에서만 실행될 목적으로 개발되었지만, Node.js 환경 등의 출현으로 서버 사이드 개발에도 널리 사용하게 되었다.

그 외에도 Electron을 이용한 데스크톱 애플리케이션 개발, React Native나 Ionic을 이용한 모바일 애플리케이션 개발 등 다양한 분야에서 활용되고 있다.

0개의 댓글