# Arrow function syntax – what is arrow function and how we use it?

Arrow function is a very interesting concept in JavaScript. It makes our functions precise, meaningful and easy to read. Letâ€™s code this. This is a function which is showing a string inside it.Â

``````function myFunction(){
console.log('I am a function')
}
myFunction()``````

We can convert this function into arrow notation very easily.Â

``````const myFunction = () => {
console.log('I am a function')
}
myFunction()``````

Here we are declaring a variable and assigning a function to it. Then we are calling this function, simple. We can even write this and it will work.Â

``````const myFunction = () => console.log('I am a function')
myFunction()``````

Now let’s pass one variable to the function.Â

``````function addFive(num){
return num+5
}

We can convert this function into arrow notation in 3 ways.Â

``const addFive = (num) => {return num+5}``
``const addFive = (num) => ( num+5)``
``const addFive = num => num+5``

All three notations are fine but I recommend using the last one. Now letâ€™s pass 2 variables in the function.Â

``````function add(num1, num2){
return num1+num2
}``````

Now we can reduce this function to arrow notation in 3 ways.Â

``````const add = (num1, num2) => {
return num1+num2
}``````
``const add = (num1, num2) => (num1+num2)``
``const add = (num1, num2) => num1+num2``

We can add 3, 4 or as many variables as we want in this. If there is one line in the function then we can skip any kinds of braces.

``const add = (num1, num2) => num1+num2``

If there is one expression in the function then we only need one set of braces.Â

``const add = (num1, num2) => (`num 1: \${num1} and num2: \${num2}`)``

Now we can also return an Object in our arrow function.Â

``````let name = 'Harper'
let age = 29
let weight = 65
const intro = (name, age, weight) => ({name, age, weight})
console.log(intro(name, age, weight))
``````

I hope we have covered every possibility of the arrow function. Please remember that arrow notation is not valid when we use `call()`, `apply()` and `bind()` methods.Â

If you have any questions please write that down in the comments section. We really appreciate that.