
자바스크립트는
명령형,함수형,프로토타입 기반의 객체지향 프로그래밍을 지원하는멀티 패러다임 프로그래밍 언어입니다.
책과 블로그에서 많이 볼 수 있는 정의이다. 그런데 이 짧은 문장에 정확히 이해하고 있지 않은 수 많은 개념이 있다. 그래서 이 한 문장을 잘 뜯고 맛보고 즐겨보는 글을 정리해 보려 한다.
자바스크립트는 명령형, 함수형, 프로토타입 기반의 객체지향 프로그래밍을 지원하는
멀티 패러다임 프로그래밍 언어입니다.
💡 프로그래밍 언어는 설계 될때 각자 지향하는 패러다임을 설정한다.
💡 다중 패러다임 프로그래밍 언어란 하나 이상의 프로그래밍 패러다임을 지원하는 프로그래밍 언어이다.
💡 개발자가 프로그래밍을 위해 어떠한 '관점'을 가지고 개발을 할지에 대해서 결정을 하는데 도움을 주는 것을 의미합니다.

자바스크립트는
명령형,함수형, 프로토타입 기반의 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어입니다.
👉 아파트 1 단지 정문 앞 사거리에서 우회전해서 있는 CU에 가서 하이볼 1캔 집어서 계산대로 가. 그리고 5000원 지폐 내고 800원 잔돈 받아와.
function double (arr) {
let results = [];
for (let i = 0; i < arr.length; i++){
results.push(arr[i] * 2);
}
return results;
}
👉 하이볼 사와
function double(arr) {
return arr.map((item) => item * 2);
}
❓근데 JS의 내장함수인 map을 쓰면 선언형이 되는가? -> 내장형 함수로 바꿔쓰며 무엇이 바뀌었는가?를 생각해보면 정답은 추상화이다. 이미 하이볼을 사본 경험이 있다 라던가 지도어플이 있다라는 가정하에 결과에 집중한 언어
자바스크립트는 명령형, 함수형,
프로토타입 기반의 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어입니다.
prototype은 특정 객체에 대한 참조입니다. 즉 어떠한 공간을 가르키고 있습니다.
__proto__로 표현됩니다. __proto__ 프로퍼티는 자신을 만든 생성자 함수의 prototype을 참조하는 역할을 합니다.prototype과 인스턴스의 __proto__ 가 연결됩니다.💡 프로그래밍 방법론중에 하나로, 프로그램을 작성할 때 객체들을 만들어 객체와 객체가 서로 메소드를 통해 상호작용하게 만드는 것
💡 객체 지향 프로그래밍을 사용하는 대표적인 언어로는 C++, JAVA, C#이 있습니다.