-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathscript9.js
More file actions
215 lines (145 loc) · 3.31 KB
/
Copy pathscript9.js
File metadata and controls
215 lines (145 loc) · 3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
//Before ECMA 2015 , There were only two ways of decalring functions
// Function Declaration and Function Expression
// Example One
// Function Declaration
/*
const name = "Andrew";
function sayName() {
const message = "My name is "+name;
console.log(message);
}
function sayBye(){
console.log("Bye "+ name);
} */
// Function Expression
/*const name = "Andrew";
const sayName = function() {
const message = "My name is "+name;
console.log(message);
}
function sayBye(){
console.log("Bye "+ name);
}*/
// sayName();
// sayBye();
// Example two
/*function square(x){
return x * x ;
}
function cube(x){
return square(x)*x;
} */
// Function Expression
/*
var square = function(x){
return cube(x) * x;
}
var cube = function(x){
return square(x) * x;
} */
// Example three
/*
function multiply(x , y){
return x * y;
}
function add( a, b){
return a + b;
}
function subtraction(a,b){
return a - b;
}
*/
/* var multiple = function(x,y){
return x * y;
}
var add = function(a,b){
return a + b ;
}
var subtraction(a,b){
return a -b ;
} */
/*
1) All above mentioned files are function declaration and function expression
converting them to arrow function.
2) Arrow function are basically concise in size and solve common javascript gotcha relating to
scope of variable
3) Arrow functions expression are functions similar to function expression
3 a) Remove the keyword function expression :-
*/
// program A with arrow function
const name = "Andrew";
const sayName = () => {
const message = "My name is "+name;
console.log(message);
}
const sayBye = () => {
console.log("Bye "+ name);
}
// program B with arrow function
/*
using paramters with arrow function
*/
// sayName();
// sayBye();
const square = (x) => {
return x * x ;
}
const cube = (x) =>{
return square(x) * x;
}
// square(9);
// cube(9);
// Program 3 (Arrow function with multiple paramerters)
const multiply = (x,y) => {
return x * y
}
const add = (x,y) => {
return x + y
}
const subtraction = (x,y) => {
return x - y
}
// multiple(9,9);
// add(9,9);
// subtraction(9,9);
// concise arrow function syntax
// If the arrow function take single parameter we can remove parentheses
// If you donot have more than one line , you can also remove return keyword
// you can also remove {} if you don't have more than one statement in block code
// program One
const squarey = x => x * x;
const cubey = x => square(x) * x;
console.log(squarey(10));
console.log(cubey(10));
//program Two
const multiplyr = (x,y) => x * y;
const addr = (x,y) => x + y;
const subtractionr = (x,y) => x - y;
console.log(multiplyr(7,8));
console.log(addr(7,8));
console.log(subtractionr(30,15));
// Program Three
const namey = "Andrew";
const sayNamee = () => {
const message = "My name is "+namey;
console.log(message);
}
const sayByee = () => console.log("Bye "+ namey );
sayNamee();
sayByee();
// Function Declaration
function divide1(a,b){
return a / b;
}
//Function Expression
const divide2 = function(a,b){
return a / b;
}
// Arrow function Expression
const divide3 = (a,b) => {
return a / b;
}
// Concise --> Arrow function
const divide4 = (a,b) => return a / b;
// All the above function perform the similar task.
// All the browsers support the arrow fucntion syntax.