Coder Social home page Coder Social logo

practice-for-week-04-es5-classes's Introduction

Practice: ES5 Classes

In this practice, you will use ES6 class syntax to define classes and monkey-patch an existing class.

Set up

Clone the starter from the Download link at the bottom of this page.

Run npm install to install any dependencies.

Phase 1: Refactor classes into ES5 class syntax

Take a look at the classes/dog.js file. The test specs for the Dog class in the test/dog-spec.js file are already passing. Refactor the Dog class to use ES5 class syntax instead. Test your code to make sure it still works after the refactor by running the following command:

npm test test/dog-spec.js

Take a look at the classes/person.js file. The test specs for the Person class in the test/person-spec.js file are already passing. Refactor the Person class to use ES5 class syntax instead. Test your code to make sure it still works after the refactor by running the following command:

npm test test/person-spec.js

Phase 2: Monkey-patch the Array class

Finally, take a look at the classes/array.js file. Monkey-patch the Array class so that all the test specs in the test/array-spec.js file pass. Run the test specs with the following command:

npm test test/array-spec.js
Hint: The method you are adding to the Array class tests if two arrays are deeply equal.

practice-for-week-04-es5-classes's People

Contributors

aa-assessment-project-manager[bot] avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

practice-for-week-04-es5-classes's Issues

array-spec.js

The test specs need an additonal test unit to check for arrays of different lengths
currently this implementation passes the test units but it shouldn't

Array.prototype.isEqual = function (arr) {
   

    for (let i = 0; i < this.length; i++) {
        if (this[i] !== arr[i]) {
            return false;
        }
    }
    return true;
}



const array1 = [1, 2, 3];
const array2 = [1, 2, 3, 4];

console.log(array1.isEqual(array2)); // This would incorrectly return true without length check

In this example, without checking the lengths, the isEqual method would compare the elements [1, 2, 3] in array1 with [1, 2, 3, 4] in array2. The loop would iterate three times, find matching elements, and return true, even though the arrays are not equal.

Readme file

ln 3,Col 35 in Read me it should be ES5

Practice: ES5 Classes

In this practice, you will use ES6 class syntax to define classes and
monkey-patch an existing class.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.