Skip to content

Implement or Improve Concept Exercise: object-destructuring #948

Closed
@SleeplessByte

Description

@SleeplessByte

Getting started

Here you can read about what Concept Exercises are and how they are structured:

If you have not done so yet, it is probably also helpful to do a couple of "Learning Exercises" (this is how they are called on the site) yourself. You can also look at the code of an existing concept exercise like bird-watcher (concept for-loops) for reference.

See the documentation above (general documentation), as well as How to implement a Concept Exercise in JavaScript.

Goal

The goal of this exercise is to teach the student how they can destructure an object into multiple bindings (which looks like pattern matching), concept object-destructuring.

Learning objectives

Out of scope

  • Anything specific with arrays because there is another concept for this

Concepts

  • object-destructuring

Prerequisites

  • objects
  • array-destructuring
  • ... (do you think something is missing?)

About

  • Usage in the parameters directly,
  • Usage when extracting data from e.g. a JSON response
  • Usage in e.g. React

Help

You can choose to do this solo-style, or collaborate with multiple people on this. The suggested approach is to

  1. First accept this issue by saying "I'd like to work on this" (no need to wait for a response, just go with it) and optionally request that someone works with you (and wait for a second person to accept your request).
  2. Use this issue to discuss any questions you have, what should be included in the content and what not and to collect reference material.
  3. Create a PR and set "exercism/javascript" as reviewers. Additionally you can write in #maintaining-javascript that your PR is ready for review. Once you incorporated any critical feedback that the reviewer might give you and the PR is approved, it will be merged by a maintainer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions