v2
- by victor-homyakov 1/13/202100
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
class ClassWithArrows {
    hi = () => {
        return 'Hi' + '!';
    }
    
    bye = () => {
        return 'Bye' + '!';
    }
    
    message = () => {
        return this.hi() + this.bye();
    }
}

class ClassWithArrowsTranspiled {
    constructor() {
        this.hi = () => {
            return 'Hi' + '!';
        };
        
        this.bye = () => {
            return 'Bye' + '!';
        };
        
        this.message = () => {
            return this.hi() + this.bye();
        };
    }
}


class ClassWithBindInCtor {
    constructor() {
        this.message = this.message.bind(this);
    }
    
    hi() {
        return 'Hi' + '!';
    }
    
    bye() {
        return 'Bye' + '!';
    }
    
    message() {
        return this.hi() + this.bye();
    }
}

const classWithArrows = new ClassWithArrows();
const classWithArrowsTranspiled = new ClassWithArrowsTranspiled();
const classWithBindInCtor = new ClassWithBindInCtor();

let counter;
delete caserun single casemove downdrag and drop case


ready



const arrowMethodRef = classWithArrows.message;
counter += arrowMethodRef().length;
delete caserun single casemove upmove downdrag and drop case


ready



const arrowMethodRef = classWithArrowsTranspiled.message;
counter += arrowMethodRef().length;
delete caserun single casemove updrag and drop case


ready



const boundMethodRef = classWithBindInCtor.message;
counter += boundMethodRef().length;
Test Case - click to add another test case
disable teardown JavaScript
teardown JavaScript
console.log(counter);
counter = 0;
Output (DOM) - click to monitor output (DOM) while test is running
RUN