// @allowJs: true// @checkJs: true// @Filename: a.jsfunctionC(p){this.p=p}C.prototype={m(){console.log(this.p)}}C.prototype.q=function(r){returnthis.p===r}varc=newC(1)c.q(2)c.m()Expected behavior:
Both q and m are methods on c.
Actual behavior:
Only q is a method on c; m is not recognised.
Note that if the declaration is var C = function(p) { this.p = p }, everything works. This only happens when C is a function declaration instead of a variable declaration with a function initialiser.
Expected behavior:
Both
qandmare methods onc.Actual behavior:
Only
qis a method onc;mis not recognised.Note that if the declaration is
var C = function(p) { this.p = p }, everything works. This only happens whenCis a function declaration instead of a variable declaration with a function initialiser.