'How to use template literals of ES6 script
I have been trying to solve a template literal question on hackerrank. It works fine on my local IDE but giving error on Hackerrank IDE. Heres the code two add two number and to print the result using template literal.
const sum = () => {
let a=1;
let b=2;
console.log(`The sum of ${a} and ${b} is ${a + b}`);
}
module.exports = {sum}
But it is producing the following error.
npm WARN [email protected] No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
audited 522 packages in 6.264s
found 611 vulnerabilities (378 low, 233 high)
run `npm audit fix` to fix them, or `npm audit` for details
> [email protected] test /projects/challenge
> mocha test --reporter mocha-junit-reporter
The sum of 1 and 2 is 3
npm ERR! Test failed. See above for more details.
Solution 1:[1]
I would like to add my view.
const sum = (a,b) => {
return `The sum of ${a} and ${b} is ${a + b}`;
};
module.exports = {sum}
Semicolons are important in these type of code
Solution 2:[2]
Here's a simple example.
const sum = (a = 1, b = 2) => {
return `The sum of ${a} and ${b} is ${a + b}`;
}
Here's the explanation.
const sum = Create a variable named `sum`.
(a = 1, b = 2) => { Create an arrow function, with variables `a` and `b`, with defaults of 1 and 2 respectively.
return ` Return a string. In addition to " and ', a backtick will create a string, but with benefits!
${a} Interpolate the variable `a` into the string.
${b} Interpolate the variable `b` into the string.
${a + b} Interpolate the expression of `a + b`.
`; End the string.
Here's an example of what the code would look like without interpolation.
const sum = (a = 1, b = 2) => {
return 'The sum of ' + a + ' and ' + b + ' is ' + (a + b);
}
Solution 3:[3]
const sum = (a, b) => {
return(
The sum of ${a} and ${b} is ${a+b}
);
}
Solution 4:[4]
A template literal is used to interpolate values into strings without concatenating.
Here is an example of how to interpolate parameters a
and b
into a string:
const sum = (a, b) => {
return `The sum of ${a} and ${b} is ${a+b}`;
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | JideGuru |
Solution 2 | JustCarty |
Solution 3 | SAJAHAN KHAN |
Solution 4 | Undo |