Declaring a function in ES6?

arrow-functions, ecmascript-6, function, javascript

Solution

now if I'm not wrong the correct "transformation" to es6 would be like this

You're wrong.

Arrow functions are a new syntax with different behaviour. They are not a straight up replacement for function declarations and function expressions (both of which still exist in ES6).

But my ESLint tells me that my logMessage is not defined and I get an error in my console, do I miss something? Do I have to declare var, let or const before the logMessage?

Yes. You're assigning something to a variable. You must declare the variable first.

I also want to export this function from file One to file Two

How you define the function has no bearing on your ability to export it.

Problem

I wanted to "update" my javascript code to the new ES6 Standard, so I looked at how functions are now written and tried it out on a global function of mine, which reads like this in the "old" es5 ``` function logMessage(message) { document.getElementById("logs").innerHTML = document.getElementById("logs").innerHTML + `<li class="item-padding"> ${message} </li>` } ``` now if I'm not wrong the correct "transformation" to ES6 would be like this: ``` logMessage = message => { etc } ``` But my ESLint tells me that my logMessage is not defined and I get an error in my console, do I miss something? Do I have to declare `var`, `let` or `const` before the logMessage? I don't know if its important, but I also want to export this function from file One to file Two and use the function logMessage in another function in file Two, is there something I have to keep in mind when doing so? Thanks for any help! Edit: Thanks everyone the answers helped me a lot, got my problem fixed!

Original source

Related problems