일부의 인자를 고정한 새로운 함수를 반환하는 함수를 만드는 기법
js
function userLog(username) {
function wrap(messgae) {
console.log("${username} - ${message}");
}
return wrap;
}
const log = userLog("jakdu");
log("hi");
이 코드를 화살표 함수로 바꾸게 되면 ,
const userLogs = username => messgae => {
console.log("${username} - ${message}");
};
const log = userLogs("jakdu");
log("hi");
이렇게 바꿀 수 있습니다.
const log = userLog('jakdu');
에서 jakdu 가 username 파라미터로 들어가게 되면 ,
username 이 jakdu 라는 function wrap 을 반환하게 된다.
python
python 에서는 장식자 라는것이 존재한다 .
def userLogs(username):
def wrap(message):
print(f"{username} - {message}")
return wrap
log = userLogs('jakdu')
log('hi')
# jakdu - hi
둘다 스크립트 언어이기 때문에 사용법이 비슷한것 같습니다