https://github.com/nas5w/roll-your-own
Learn built-in JavaScript methods by rolling your own!
https://github.com/nas5w/roll-your-own
es6 javascript
Last synced: 4 months ago
JSON representation
Learn built-in JavaScript methods by rolling your own!
- Host: GitHub
- URL: https://github.com/nas5w/roll-your-own
- Owner: nas5w
- License: mit
- Created: 2020-02-16T22:46:44.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T07:32:49.000Z (almost 3 years ago)
- Last Synced: 2025-04-19T20:45:23.000Z (6 months ago)
- Topics: es6, javascript
- Language: JavaScript
- Homepage:
- Size: 697 KB
- Stars: 25
- Watchers: 2
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: license.md
Awesome Lists containing this project
README
![]()
Learning JavaScript by recreating it
---
[](https://travis-ci.com/nas5w/roll-your-own)
This repository is purely educational exploration of recreating built-in JavaScript methods. I started with a number of Array methods, but it would be great to expand to other Object and primitive types as well!
## Methods
- Array Methods
- [concat](./array/concat.js)
- [every](./array/every.js)
- [filter](./array/filter.js)
- [isArray](./array/isArray.js)
- [map](./array/map.js)
- [of](./array/of.js)
- [reduce](./array/reduce.js)
- [some](./array/some.js)
- [toString](./array/toString.js)## Contributing
Happy to have PRs to the repository proposing new methods or fixes to existing ones! Please open an issue first to get approval for any work you do, I'd hate to reject proposed changes because someone else is already doing the same work.
Here's the general process to follow to contribute:
1. Propose the change/fix in a Github Issue
2. Clone down the repository
3. Create tests for the changes you're making
4. Make the change and pass all tests
5. Create a Pull Request to this repository with the update(s)Please try not to use known polyfills for the methods you contribute, I'd like this to remain a learning experience rather than a copy/paste exercise!
---
Want to learn more about JavaScript? Consider signing up for my [free newsletter](https://buttondown.email/typeofnan) where I periodically send out digestible bits of JavaScript knowledge!