Skip to content

Curriculum Context Gap: JavaScript- Method Chaining (Step 359) assumes knowledge of OOP and this #66925

@jmitchells1988

Description

@jmitchells1988

Affected Page:

https://www.freecodecamp.org/learn/javascript-v9/lecture-working-with-higher-order-functions-and-callbacks/what-is-method-chaining-and-how-does-it-work

Describe the Issue:

Firstly, thank you for the incredible service you provide. I'm extremely grateful for the work you all have done to provide this learning resource freely. I mean no disparagement with this critique and only hope to help your target mission.

I am currently working through the JavaScript Algorithms and Data Structures curriculum. In the Method Chaining lesson (Step 359), there is a significant context gap that may alienate new learners.
The theory and quiz questions for this step rely on concepts that haven't been introduced yet in the syllabus:
The this keyword: The example code uses this to explain chaining via object mutation, but this is not formally taught until the OOP modules much later (around Step 450+).
Object-Oriented Chaining vs. Functional Chaining: The lesson focuses on a "Fluent Interface" (returning this), which directly contradicts the Functional Programming patterns (returning new objects/arrays) taught in the immediately preceding steps (Map, Filter, Reduce).
Terminology: The quiz asks what a method "typically" returns for chaining, which is confusing because Functional methods (the current focus) return new objects, while the quiz expects "the object itself (this)".

Once again, thank you very sincerely for providing these learning materials. You have my gratitude and I wish all the contributors and the site itself the absolute best.

Expected Behavior:
The Method Chaining lesson should ideally use examples that align with the Functional Programming concepts recently covered (like chaining .filter().map()) rather than introducing advanced OOP concepts without context. If OOP chaining is necessary to mention, the this keyword and object mutation should be briefly defined first to avoid confusing the learner.

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedOpen for all. You do not need permission to work on these.js v9 certThis is for the JS V9 certification.scope: curriculumLessons, Challenges, Projects and other Curricular Content in curriculum directory.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions