 # JavaScript: Find the area of a triangle where lengths of the three of its sides are 5, 6, 7

## JavaScript Basic: Exercise-4 with Solution

Write a JavaScript function to find the area of a triangle where lengths of the three of its sides are 5, 6, 7.

Sample Solution:

HTML Code:

``````<!DOCTYPE html>
<html>
<meta charset=utf-8 />
<title>The area of a triangle</title>
<body>
</body>
</html>
```
```

JavaScript Code:

``````var side1 = 5;
var side2 = 6;
var side3 = 7;
var s = (side1 + side2 + side3)/2;
var area =  Math.sqrt(s*((s-side1)*(s-side2)*(s-side3)));
console.log(area);
```
```

Sample Output:

```14.696938456699069
```

Explanation:
Calculate the area of a triangle of three given sides :
In geometry, Heron's formula named after Hero of Alexandria, gives the area of a triangle by requiring no arbitrary choice of side as base or vertex as origin, contrary to other formulas for the area of a triangle, such as half the base times the height or half the norm of a cross product of two sides. The Math.sqrt() function is used to get the square root of a number. If the value of the number is negative, Math.sqrt() returns NaN.

ES6 Version:

``````const side1 = 5;
const side2 = 6;
const side3 = 7;
const perimeter = (side1 + side2 + side3)/2;
const area =  Math.sqrt(perimeter*((perimeter-side1)*(perimeter-side2)*(perimeter-side3)));
console.log(area);
``````

Live Demo:

See the Pen JavaScript: Area of Triangle - basic-ex-4 by w3resource (@w3resource) on CodePen.

Improve this sample solution and post your code through Disqus

What is the difficulty level of this exercise?

﻿

## JavaScript: Tips of the Day

Promise object

```const myPromise = () => Promise.resolve('I have resolved!');

function firstFunction() {
myPromise().then(res => console.log(res));
console.log('second');
}

async function secondFunction() {
console.log(await myPromise());
console.log('second');
}

firstFunction();
secondFunction();
```

With a promise, we basically say I want to execute this function, but I'll put it aside for now while it's running since this might take a while. Only when a certain value is resolved (or rejected), and when the call stack is empty, I want to use this value.
We can get this value with both .then and the await keyword in an async function. Although we can get a promise's value with both .then and await, they work a bit differently.
In the firstFunction, we (sort of) put the myPromise function aside while it was running, but continued running the other code, which is console.log('second') in this case. Then, the function resolved with the string I have resolved, which then got logged after it saw that the callstack was empty.
With the await keyword in secondFunction, we literally pause the execution of an async function until the value has been resolved before moving to the next line.
This means that it waited for the myPromise to resolve with the value I have resolved, and only once that happened, we moved to the next line: second got logged.

Ref: https://bit.ly/3jFRBje