Curriculum: Create a cheat sheet for the most commonly used JavaScript functions (e.g. Array.map)

Created on 14 Feb 2020  Â·  23Comments  Â·  Source: Techtonica/curriculum

Link from the main README to this from the JavaScript Fundamentals week. Apprentices should basically memorize these within the first month.

Contents

  • 10 most commonly used functions on Array

    • map

    • filter

    • reduce

    • slice

    • splice

    • concat

    • join

    • push

    • find

    • indexOf

  • 5 most commonly used functions on String

    • substring

    • split

    • toLowerCase

    • trim

    • charAt

  • example of the many for loops

    • for... in

    • for... of

    • for (let i=0... (traditional)

    • .forEach

Include MDN links for all and some example code snippets for as many as you want.

MEDIUM gssoc20

All 23 comments

Shouldn’t we just be teaching them to look stuff up on mdn, etc?

@alodahl Yes! But for assessments they need to have these basic ones memorized and from feedback I've gotten, it's tough for them to see the wall of 50 functions and know which are core or not. I'm hoping this can be a good focusing strategy. What do you think?

I added above: "Apprentices should memorize these within the first month."

I guess I would question the value of memorizing any function or method signatures. I agree with @alodahl that knowing what's possible, and knowing how to efficiently look up the docs is a much more valuable skill.

@alodahl when you put it that way, a study guide is definitely a good idea. I still disagree with including definitions, though, unless it’s just a sentence in layman’s terms about purpose - not examples that can easily be found elsewhere.

That’s what the “assessment objectives” were originally for, and you’re welcome to update those and outline objectives sections.

I think it would be best to have these things centralized, whatever you decide.

TL;DR I would've been saying the same thing as you before seeing this curriculum used IRL. I have been an engineer too long to remember not knowing these things.

I guess I would question the value of memorizing any function or method signatures.

  1. The intro assessments are Wifi Off. What do they do then? A clever participant was working on an airplane and was inspecting Array.prototype using Node console but if you can already do that, you're ahead of the game.
  2. I would've said the same thing as @gsong before starting. "Memorize" is maybe too strong a word but I think you're underestimating how much you've inadvertently memorized to become fluent in a language. Don't you have to memorize how to write a vanilla for loop using i at some point? You can't look up examples every time, right?
  3. Looking up is great, except it can inadvertently encourage a "google anything" mentality that actually stunts learning. I also just got feedback yesterday that MDN is "too dense." All of that is to say I'd like to drive toward more progressive disclosure, more realistic learning aids.

re: centralization: If it helps with context, @alodahl I was imaging this to be printed and kept at their workstations. I tried to find a short one elsewhere and couldn't. But we could also just use someone else's. IMHO: while I do agree we should keep this repo DRY, we shouldn't make this repo DRY or easier to maintain for us at the expense of its actual audience. There will be duplication and drift and I'm okay with that if it's always getting stronger.

Skillcrush has a bunch of cheat sheets. Maybe they'd have a good one? First Google result: https://skillcrush.com/blog/downloadable-javascript-cheat-sheet/

I would like to work on this issue.

I am gssoc20 participant...I am Very much interested to work on this...If possible please assign me this issue

I am gssoc20 participant...I would like to to work on this issue... If possible please assign me to the issue. Thank you

I am a gssoc 2020 participant. I would like to work on this issue.

I am GSSoC'20 participant, I will be glad if you assign the task to me. It will be a good start for me.

I would also like to contribute to the issue as a part of GSSoC'20, could you please assign it to me

I am interested in this issue. Can I take this?

@Tawishi You only have 3 days left, if we don't get any response from your side, the issue will be assigned to someone else.

@Tawishi You only have 3 days left, if we don't get any response from your side, the issue will be assigned to someone else.

Ok, sir.

hi @Tawishi , please fill this form out and then you can start! https://docs.google.com/forms/d/e/1FAIpQLSeW0mo-Dpsig70374UEPvzexpas-31Ost_HsFwm0kjNOxtbtg/viewform?c=0&w=1

done. 👍

@Tawishi You only have 3 days left, if we don't get any response from your side, the issue will be assigned to someone else.

I have made a pull request, sir.
Waiting for the review.

I have made a pull request, sir.
Waiting for the review.

Why can't I see any linked PR here ?

I have made a pull request, sir.
Waiting for the review.

Why can't I see any linked PR here ?

I have linked it now.

I have linked it now.

Have a look at this link to know how to link issue to a PR.

@Tawishi you did not link the issue. I have linked it for you.

Was this page helpful?
0 / 5 - 0 ratings