본문 바로가기
728x90
반응형
SMALL

자바스크립트41

프로토타입과 객체지향 프로그래밍 프로토타입이란? JavaScript는 프로토타입 기반 객체지향 프로그래밍 언어입니다. 클래스 기반 객체지향 프로그래밍 언어는 객체 생성 이전에 클래스를 정의하고 이를 통해 객체(인스턴스)를 생성하지만, 프로토타입 기반 객체지향 프로그래밍 언어는 클래스 없이도 객체를 생성할 수 있습니다. 자바스크립트의 모든 객체는 자신의 부모 역할을 담당하는 객체와 연결되어 있기 때문에, 부모 객체의 프로퍼티 또는 메소드를 상속받아 사용할 수 있게 합니다. 이 때, 부모 객체를 Prototype(프로토타입)이라고 하고, Prototype은 생성자 함수에 의해 생성된 각각의 객체에 공유 프로퍼티를 제공하기 위해 사용합니다. 이는 객체를 생성할 때, 그 객체는 자신의 부모 역할을 하는 프로토타입 객체를 가리키는 [[proto.. 2024. 3. 20.
동기(Synchronous)와 비동기(Asynchronous) 동기(Synchronous)와 비동기(Asynchronous)는 프로그래밍에서 매우 중요한 개념이다. 동기(Synchronous) 동기는 호출하는 함수가 반환하기 전에 작업이 완료될 때까지 기다리는 것을 의미한다. 즉, 호출한 함수는 결과가 반환될 때까지 블로킹(blocking)되며, 결과가 반환된 후에야 다음 코드를 실행할 수 있다. 이러한 특성 때문에, 동기 방식은 순차적인 처리를 보장하고, 코드가 간단하고 직관적이다. 하지만, 작업이 끝날 때까지 대기해야 하기 때문에, 시간이 오래 걸리는 작업을 수행할 때는 성능 이슈가 발생할 수 있다. function func1(){ console.log('func1'); func2(); } function func2(){ console.log('func2'); .. 2023. 4. 16.
호이스팅(Hoisting) (feat. var, let, const) 영어 사전에서 Hoist는 '들어(끌어)올리다'라는 의미를 가지고 있다. 그러면 자바스크립트에서 호이스팅이란 무엇을 의미할까? MDN에 의하면 JavaScript에서 호이스팅이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다. 즉, 변수의 선언과 초기화를 분리한 후, 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 의미한다. var로 선언한 변수의 경우에는 호이스팅 시 undefined로 변수를 초기화 한다. 반면, let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않는다. let과 const로 선언한 변수도 호이스팅 대상이지만, var와 달리 호이스팅 시 undefined로 변수를 초기화하지 않는다. 따라서.. 2023. 1. 5.
async & await JavaScript - async & await // 콜백지옥 timer(1000, function(){ console.log('작업'); timer(1000, function(){ console.log('작업'); timer(1000, function(){ console.log('작업'); }); }); }); // promise를 사용해서 콜백지옥 벗어남 timer(1000) .then(function(){ console.log('작업') return timer(1000); }) .then(function(){ console.log('작업') return timer(1000); }) .then(function(){ console.log('작업') return timer(1000); }) 더 더 더 편.. 2022. 8. 10.
Callback 함수 생활코딩 Callback https://www.youtube.com/watch?v=TAyLeIj1hMc&list=PLuHgQVnccGMBVQ4ZcIRmcOeu8uktUAbxI filter 메서드에 대해 정리한 글이다! filter 메서드에 모른다면 참고~!! https://suzzeong.tistory.com/71 arr.filter(callback(element[, index[, array]])[, thisArg]) 여기서 콜백함수는, true를 반환하면 element를 유지하고, false를 반환하면 버린다. element는 판단해야하는 각각의 원소를 말한다. filter 메서드를 사용하여 콜백함수 이해하기! // 1. 콜백 함수 쓰는 방법 words = ['spray', 'limit', 'elite.. 2022. 8. 5.
스프레드 문법 Spread 라는 단어의 의미: 펼치다, 퍼뜨리다 스프레드 문법(전개 문법)은 ES6에 도입된 문법으로, ...은 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만든다. 스프레드 문법의 결과물은 값으로 사용할 수 없고, 쉽표로 구분한 값의 목록을 사용하는 문맥에서만 사용할 수 있다. 1. 함수 인수 목록( myFunction (a, ...iterableObj, b) ) 2. 배열 리터럴( [ 1, ...iterableObj, '4', 'five', 6 ] ) 3. 객체 리터럴( { ...obj, key: 'value' } ) 1. 함수 호출문의 인수 목록에서 사용하는 경우 - apply() 배열의 요소를 함수에 대한 인수로 사용하려는 경우에 사용하는 것이 일반적이다. functio.. 2022. 8. 2.
728x90
반응형
LIST