Advertisement
samimwebdev

6.nested data access, evolution of function, constructor vs factory copy by value/ref

May 30th, 2022
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //accessing data from nested array and object
  2. //copy by value vs copy be reference, pass by by value vs pass by reference
  3. //constructor vs factory function
  4. //Evolution of function
  5. //nested loop
  6.  
  7. // const arr = [
  8. //   'a',
  9. //   'b',
  10. //   'c',
  11. //   'd',
  12. //   ['e', 'f', ['g']],
  13. //   function () {
  14. //     return 'Hi'
  15. //   },
  16. //   'h',
  17. //   'i',
  18. // ]
  19. // //accessing data by index
  20. // console.log(arr[0])
  21. // console.log(arr[4][1])
  22. // console.log(arr[4][2][0])
  23. // console.log(arr[4][2][0])
  24. // console.log(arr[5]())
  25.  
  26. //array vs object
  27.  
  28. //accessing data from object
  29. // const obj = {
  30. //     a: "b",
  31. //     c: {
  32. //         d: "e",
  33. //         f: {
  34. //             g: "h"
  35. //         }
  36. //     },
  37. //     i: function(){
  38. //        return obj.a //b
  39. //     }
  40. // }
  41.  
  42. // console.log(obj.c.d)
  43. // console.log(obj.c.f.g)
  44. // console.log(obj.i())
  45.  
  46. //primitive data (string, number.....)
  47. //complex data type or object (array, object, function)
  48.  
  49. //copy by value (primitive)
  50. // let a = 10
  51. // const b = a
  52. // a = 20
  53.  
  54. // console.log(a, b)
  55.  
  56. // //copy by reference (object) (value is in in specific location)
  57. // let aObj = {
  58. //     value: {
  59. //         a : 1
  60. //     }
  61. // }
  62.  
  63. // const bObj = JSON.parse(JSON.stringify(aObj))
  64. // aObj.value.a = 2
  65.  
  66. // console.log(aObj, bObj)
  67.  
  68. //pass by value (primitive)
  69.  
  70. // function printByValue(a){
  71. //     let b = a
  72. //     a = 20
  73. //     console.log(a)
  74. //     console.log(b)
  75.  
  76. // }
  77.  
  78. // const a = 10
  79. // printByValue(a)
  80.  
  81. //pass by reference (object type)
  82. // function printByRef(aObj){
  83. //     let bObj = aObj
  84. //     aObj.value = 20
  85. //     console.log(aObj)
  86. //     console.log(bObj)
  87.  
  88. // }
  89.  
  90. // const aObj = {
  91. //     value: 10
  92. // }
  93. // printByRef(aObj)
  94. // console.log(aObj)
  95.  
  96. //Evolution of function
  97. //function statement(? command)
  98. // function sum(a, b){
  99. //     return a + b
  100. // }
  101.  
  102. //function expression(? value)
  103. //10 , 20 , true, false
  104.  
  105. //expression can be written on right side of variable
  106. // const sum = function(a, b){
  107. //     return a + b
  108. // }
  109.  
  110. //arrow function
  111. // const sum = (a, b) => {
  112. //     return a + b
  113. // }
  114.  
  115. // const sum = (a, b) => a + b
  116.  
  117. // 2 ^ 4 = 2 *2 *2 *2
  118. // const exponential = a => a ** 2
  119.  
  120. // console.log(exponential(10))
  121.  
  122. //constructor function vs factory function
  123.  
  124. // const user = {
  125. //   firstName: 'samim',
  126. //   lastName: 'Hasan',
  127. //   age: 30,
  128. //   fullName() {
  129. //     return this.firstName + this.lastName
  130. //   },
  131. // }
  132.  
  133. //factory function
  134. // function createUser(firstName, lastName, age) {
  135. //   return {
  136. //     firstName,
  137. //     lastName,
  138. //     age,
  139. //     fullName() {
  140. //       return this.firstName + ' ' + this.lastName
  141. //     },
  142. //   }
  143. // }
  144.  
  145. // const samim = createUser('samim', 'Hasan', 30)
  146. // const shanto = createUser('shanto', 'khan', 23)
  147. // console.log(shanto)
  148. // console.log(shanto.fullName())
  149. // console.log(samim.fullName())
  150.  
  151. //constructor function
  152. // function User(firstName, lastName, age) {
  153. //    //{} == this
  154. //    this.firstName = firstName
  155. //    this.lastName = lastName
  156. //    this.age = age
  157. //    this.fullName = function(){
  158. //     return this.firstName + ' ' + this.lastName
  159. //    }
  160. //    //return this
  161. // }
  162.  
  163. // const samim = new User('samim', 'Hasan', 30)
  164. //  const shanto = new User('shanto', 'khan', 23)
  165. // console.log(samim.fullName())
  166. // console.log(shanto.fullName())
  167.  
  168. //nested loop (primer)
  169. // for(let i = 0; i < 3; i++){
  170. //     console.log(i)
  171. //     for(let j = 0; j < 3; j++){
  172. //         console.log(i, j)
  173. //     }
  174. // }
  175.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement