320x100
320x100

자바스크립트 함수

일련의 처리 과정을 모아놓은 코드 블록

재사용성과 입력에 따른 출력을 제공

 

순수 함수는 같은 입력 값에 대해 항상 같은 출력을 반환하여 부작용이 없는 함수

부작용이란 외부 상태를 변경하거나 참조값을 수정하는 행위를 의미

 

 

 

 

함수 선언문과 화살표 함수의 차이

함수 선언문은 호출 방식에 따라 디스가 동적으로 결정됨

화살표 함수는 상위 렉시컬 스코프의 디스를 참조

 

화살표 함수는 디스 바인딩을 가지지 않고 상위 스코프의 디스를 고정적으로 참고하기 때문

화살표 함수는 생성자 함수로 사용할 수 없으며, 프로토타입이 없음

 

반면 함수 선언문은 생성자 함수로 사용 가능하며 프로토타입을 가짐

 

 

 

 

함수객체

자바스크립트의 함수는 1급 객체로, 변수에 할당되거나 다른 함수의 인자로 전달될 수 있으며, 함수의 반환값으로 사용될 수 있음

이는 함수가 값으로 취급되는 것을 의미

 

자바스크립트에서 함수는 객체로 간주되고 내부적으로 프로퍼티와 메서드를 가짐

 

 

 

 

디스의 동작 원리와 활용

디스는 함수 호출 방식에 따라 참조하는 객체가 달라지는 동적인 특성을 가짐

일반 함수 호출, 메서드 호출, 생성자 함수 호출, 화살표 함수 등 다양한 상황에서 디스의 값이 달라짐

 

왜냐하면 디스는 함수가 호출되는 문맥 (context)에 따라 동적으로 결정되기 때문

 

일반 함수 호출에서는 전역 객체를 참조

메서드 호출에서는 호출한 객체를 참조

생성자 함수 호출에서는 새로 생성된 객체를 참조

 

 

 

 

Reference

https://f-lab.kr/insight/understanding-javascript-functions-and-this-20260118

 

자바스크립트에서 함수와 디스(this)의 이해

이 글은 자바스크립트에서 함수와 디스(this)의 동작 원리, 순수 함수의 장점, 화살표 함수와 함수 선언문의 차이, 비동기 처리와 콜백 함수, 프로미스 및 async/await의 활용법을 다룹니다.

f-lab.kr

 

300x250
728x90