question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[V3] Implement new Concept Exercise: classes-intro

See original GitHub issue

This issue describes how to implement the class concept exercise for the JavaScript track.

Getting started

Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism’s maintainers’ time. So, before diving into the implementation, please read up on the following documents:

Please also watch the following video:

Goal

This exercise’s goal is to teach the student about the function of classes in Javascript, why they exist, and how to implement them.

Learning objectives

  • Understand the constructor function
  • Understand how this works
  • Know how to effectively create prototypal properties

Out of scope

  • The new keyword
  • Initializing classes (this exercise will only teach students how to implement classes in this exercise, not how to use them).
  • Factory functions
  • Class expressions (declaring a class with a var statement)
  • Static properties & static methods
  • extends keyword
  • Class inheritance with super

Concepts

  • Creating private properties in the constructor function
  • Creating public functions that consume the properties defined in the constructor
  • Using this to access class-wide properties

Prerequisites

  • booleans
  • strings
  • functions
  • objects

Resources to refer to

Hints

After

Representer

No changes required

Analyzer

No changes required

Implementing

See the implementation guide for JavaScript for more detail.

Help

If you have any questions while implementing the exercise, please post the questions as comments in this issue.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
rishiosaurcommented, Apr 22, 2020

I’ll be creating a new branch on my fork for this.

0reactions
junedevcommented, Feb 26, 2021

A replacement issue for this one was created to fit the target learning curve: https://github.com/exercism/javascript/issues/1015 Please go there if you still want to contribute to the classes concept exercise. This issue will be closed.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Write Your Best Group Fitness Class Introduction | GXunited
Here are five tips for creating a stand-out class intro that will have participants excited and ready for the workout experience.
Read more >
Group Fitness Instructor Introductions to WELCOME your Class
Here are some ideas to build an outstanding Introduction, ... 2- Say your name 3 - Tell them the duration of your class...
Read more >
Group Exercise Class descriptions
Intro to Group Exercise This 30 minute class will introduce you to the basic components of different group exercise classes so you can...
Read more >
Indoor Rower Workouts for Beginners | Concept2
Workout 1 Start with a row of 3–5 minutes. Then take a break to stretch and walk around. If you feel good, do...
Read more >
Group Fitness Class & HIIT Workouts | Orangetheory Fitness US
Orangetheory Fitness is the latest high intensity workout that's scientifically proven to spike your metabolism and boost energy. Try us for free today!...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found