brandonmcconnell

extend function

Jan 27th, 2023 (edited)
1,085
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 0.71 KB | Software | 0 0
  1. // Function
  2.  
  3. function extend(obj) {
  4.   class Extended extends obj.constructor {
  5.     constructor(obj) {
  6.       super(...(Array.isArray(obj) ? obj : [obj]));
  7.       this.$ = 'something';
  8.     }
  9.   }
  10.   return new Extended(obj);
  11. }
  12.  
  13. // Examples
  14.  
  15. const originalString = 'test';
  16. const extendedString = extend(originalString);
  17.  
  18. String(extendedString) === originalString
  19.  
  20. extendedString.toString()
  21. extendedString.valueOf()
  22. extendedString.$
  23. extendedString.constructor.prototype
  24.  
  25. const originalArray = [4, 5, 6];
  26. const extendedArray = extend(originalArray);
  27.  
  28. JSON.stringify(extendedArray) === JSON.stringify(originalArray)
  29.  
  30. extendedArray.push(7)
  31. extendedArray.valueOf()
  32. extendedArray.toString()
  33. extendedArray.$
Advertisement
Add Comment
Please, Sign In to add comment