반응형

2023/03 6

[JavaScript] 화살표 함수(Arrow function)란 ?? 화살표 함수에서 this 바인딩

화살표 함수(Arrow function)란 ?? 자바스크립트의 화살표 함수(arrow function)는 함수를 선언하는 다른 방법 중 하나입니다. ES6(2015)에서 소개되었으며, 일반 함수보다 간결하고 가독성이 높으며, this 바인딩에 대한 동작 방식이 다릅니다. 화살표 함수는 다음과 같은 구문으로 선언됩니다. (parameter1, parameter2, ..., parameterN) => { // function body }; 여기서 parameter1, parameter2, ..., parameterN는 함수에 전달할 매개변수이고, {} 안에 있는 function body는 함수가 실행될 때 수행할 코드입니다. 화살표 함수는 다음과 같은 특징을 가집니다. 함수의 매개변수가 하나뿐이면 괄호를 생..

[JavaScript] blocking / non-blocking, 동기 / 비동기

자바스크립트에서 blocking과 non-blocking, 동기와 비동기는 프로그램의 실행과 관련된 중요한 개념입니다. 1. Blocking vs Non-blocking Blocking은 특정 코드의 실행이 완료될 때까지 다음 코드의 실행을 중지시키는 것을 의미합니다. 이러한 코드 실행 방식은 호출된 함수가 작업을 수행할 때까지 스크립트의 실행을 차단(block)시키기 때문에, 다른 작업이나 이벤트를 처리하는 것을 방해할 수 있습니다. Blocking이 발생하는 경우에는 대개 시스템 리소스를 많이 사용하거나 시간이 오래 걸리는 작업을 수행하는 경우입니다. 반면, Non-blocking은 호출된 함수가 작업을 수행하는 동안에도 다음 코드의 실행을 계속할 수 있습니다. 이렇게 하면 스크립트의 실행이 차단되지..

[JavaScript] async / await 와 promise란??

async / await 와 promise란?? 자바스크립트는 대표적인 싱글 스레드 언어입니다. 그래서 비동기 프로그래밍이 굉장히 중요합니다! 이러한 비동기 프로그래밍을 사용하게 되면 더 나은 성능과 사용자 경험을 제공할 수 있습니다. ※ 비동기 프로그래밍 : 특정 작업이 완료될 때까지 코드 실행을 멈추지 않고, 다른 작업을 동시에 수행할 수 있는 방식을 의미 자바스크립트에서 비동기 프로그래밍을 구현하는 대표적인 방법으로 콜백(callback), 프로미스(promise), 비동기 함수(async/await)가 있습니다. 이전 포스팅에 콜백에 대한 설명이 있으므로 짧게 설명하자면 이렇습니다. 콜백은 함수의 인자로 다른 함수를 전달하여, 작업이 완료될 때 해당 함수를 호출하는 방식입니다. 예를 들어, set..

[JavaScript] 클로저(Closure)와 콜백함수(callback)

클로저(Closure)란??? 함수 내부에서 외부 스코프에 선언된 변수를 참조하는 것을 클로저(Closure)라고 합니다. 클로저는 함수와 함수가 선언된 어휘적 환경(Lexical Environment)의 조합입니다. 클로저는 함수가 선언될 당시의 환경을 기억하고, 함수가 호출될 때 그 환경을 다시 만들어내는 기능을 합니다. 이를 통해 함수 안에서 선언한 변수를 함수 외부에서도 사용할 수 있게 됩니다. 클로저는 자바스크립트에서 매우 중요한 개념으로, 다른 함수에 인자로 함수를 전달하거나, 객체의 메서드로 함수를 정의할 때 클로저를 사용하여 특정한 상태를 유지할 수 있습니다. 클로저를 사용하면 상태를 보존하고, 함수를 더 유연하고 재사용 가능하게 만들 수 있습니다. 또한, 클로저는 자바스크립트에서 비동기 ..

[JavaScript] this란? /this 바인딩이란

this란?? JavaScript에서 this는 현재 실행 중인 함수 내에서 참조하는 객체를 나타냅니다. this는 호출되는 방법에 따라 달라지며, 함수가 호출되는 방법에 따라 다른 객체가 this를 가리킵니다. this는 자바스크립트의 중요한 개념 중 하나이며, 오해하거나 이해하지 못하면 코드에서 버그를 일으킬 수 있습니다. this 바인딩 함수를 호출하는 방법에는 네 가지가 있습니다. 일반 함수로 호출하는 경우 메소드로 호출하는 경우 apply() 또는 call() 메소드를 사용하여 호출하는 경우 생성자 함수로 객체를 생성하는 경우 이제 각각의 경우를 자세히 살펴보겠습니다. 1. 일반 함수로 호출하는 경우 함수를 일반적인 방법으로 호출하는 경우, this는 전역 객체를 가리킵니다. 브라우저에서는 wi..

[JavaScript] call by value(값에 의한 호출) vs call by reference(참조에 의한 호출) 차이는?

call by value(값에 의한 호출) vs call by reference(참조에 의한 호출) 차이 자바스크립트에서는 원시 타입(primitive type)의 값은 call by value(값에 의한 호출)로 전달되고, 객체 타입(object type)은 call by reference(참조에 의한 호출)로 전달됩니다. call by value(값에 의한 호출)은 변수에 저장된 값을 복사해서 전달하는 방식입니다. 예를 들어, 다음과 같이 숫자를 전달하는 경우를 생각해봅시다. ※ 원시타입 : 숫자(number), 문자열(string), 불리언(boolean), null, undefined, 심볼(symbol) - 각각의 원시 타입은 값(value)을 갖고 있으며, 이 값은 변경될 수 없습니다(immu..

반응형