14. *lastIndexOf()*: Takes takes a substring and if the substring exists in a string it returns the last position of the substring if it does not exist it returns -1
14. *lastIndexOf()*: Takes takes a substring and if the substring exists in a string it returns the last position of the substring if it does not exist it returns -1
```js
```js
string.charCodeAt(index)
string.lastIndexOf(index)
```
```
```js
```js
let string = 'I love JavaScript. If you do not love JavaScript what else can you love.'
let string = 'I love JavaScript. If you do not love JavaScript what else can you love.'
29. Calculate the total annual income of the person by extract the numbers from the following text. 'He earns 5000 euro from salary per month, 10000 euro annual bonus, 15000 euro online courses per month.'
29. Calculate the total annual income of the person by extract the numbers from the following text. 'He earns 5000 euro from salary per month, 10000 euro annual bonus, 15000 euro online courses per month.'
30. Clean the following text and find the most frequent word(hint, use replace and regular express).
30. Clean the following text and find the most frequent word(hint, use replace and regular express).
```js
```js
sentence = '%I $am@% a %tea@cher%, &and& I lo%#ve %tea@ching%;. There $is nothing; &as& mo@re rewarding as educa@ting &and&@emp%o@wering peo@ple. ;I found tea@ching m%o@re interesting tha@n any other %jo@bs. %Do@es thi%s mo@tivate yo@u to be a tea@cher!? %Th#is 30#Days&OfJavaScript &is also $the $result of &love& of tea&ching'
const sentence = '%I $am@% a %tea@cher%, &and& I lo%#ve %tea@ching%;. There $is nothing; &as& mo@re rewarding as educa@ting &and&@emp%o@wering peo@ple. ;I found tea@ching m%o@re interesting tha@n any other %jo@bs. %Do@es thi%s mo@tivate yo@u to be a tea@cher!? %Th#is 30#Days&OfJavaScript &is also $the $result of &love& of tea&ching'
```
```
## Data types Part
## Exercises: Data types Part
1. Declare firstName, lastName, country, city, age, isMarried, year variable and assign value to it
String, number, boolean, null, undefined and symbol(ES6) are JavaScript primitive data types.
1. The JavaScript typeof operator uses to check different data types. Check the data type of each variables from question number 1.
1. The JavaScript typeof operator uses to check different data types. Check the data type of each variables from question number 1.
2.
## Arithmetic Operators Part
## Arithmetic Operators Part
JavaScript arithmetic operators are addition(+), subtraction(-), multiplication(\*), division(/), modulus(%), increment(++) and decrement(--).
JavaScript arithmetic operators are addition(+), subtraction(-), multiplication(\*), division(/), modulus(%), increment(++) and decrement(--).
@ -1210,7 +1206,7 @@ let operandTwo = 3;
```
```
Using the above operands apply different JavaScript arithmetic operations.
Using the above operands apply different JavaScript arithmetic operations.
## Booleans Part
## Exercises: Booleans Part
Boolean value is either true or false.
Boolean value is either true or false.
@ -1230,7 +1226,7 @@ Boolean value is either true or false.
1. 4 == '4'
1. 4 == '4'
1. 4 === '4'
1. 4 === '4'
## Comparison Operators
## Exercises: Comparison Operators
Boolean value is either true or false. Any comparison return a boolean either true or false.
Boolean value is either true or false. Any comparison return a boolean either true or false.
Use all the following comparison operators to compare the following values: >, < >=, <=, !=, !==,===.
Use all the following comparison operators to compare the following values: >, < >=, <=, !=, !==,===.
@ -1248,7 +1244,7 @@ Which are true or which are false ?