Files
30-seconds-of-code/snippets/callOrReturn.md
Angelos Chalaris 8a6b73bd0c Update covers
2023-02-16 22:24:28 +02:00

23 lines
533 B
Markdown

---
title: Call or return
tags: function
author: chalarangelo
cover: cows
firstSeen: 2022-04-04T05:00:00-04:00
---
Calls the argument if it's a function, otherwise returns it.
- Use the `typeof` operator to check if the given argument is a function.
- If it is, use the spread operator (`...`) to call it with the rest of the given arguments. Otherwise, return it.
```js
const callOrReturn = (fn, ...args) =>
typeof fn === 'function' ? fn(...args) : fn;
```
```js
callOrReturn(x => x + 1, 1); // 2
callOrReturn(1, 1); // 1
```