The bind() method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.
The bind() method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.
MDN
The call() method calls a function with a given this value and arguments provided individually.
The call() method calls a function with a given this value and arguments provided individually.
You can assign a different this object when calling an existing function. this refers to the current object, the calling object. With call, you can write a method once and then inherit it in another object, without having to rewrite the method for the new object.
apply is very similar to call(), except for the type of arguments it supports. You can use an arguments array instead of a named set of parameters. With apply, you can use an array literal, for example,
fun.apply(this, ['eat', 'bananas'])
or an Array object, for example,
fun.apply(this, new Array('eat', 'bananas')).
MDN
Scala.js-specific note: call() can be used instead of the apply() method available in JavaScript. Simply use the :_* notation to expand a Seq as variadic arguments, e.g.,
someFun.call(thisArg, argSeq: _*)
Tests whether this object has the specified property as a direct property.
Tests whether this object has the specified property as a direct property.
Unlike js.Object.hasProperty, this method does not check down the object's prototype chain.
MDN
Tests whether this object is in the prototype chain of another object.
Tests whether this object is in the prototype chain of another object.
length is a property of a function object, and indicates how many arguments the function expects, i.e.
length is a property of a function object, and indicates how many arguments the function expects, i.e. the number of formal parameters. This number does not include the rest parameter. By contrast, arguments.length is local to a function and provides the number of arguments actually passed to the function.
MDN
Tests whether the specified property in an object can be enumerated by a call to js.Object.properties, with the exception of properties inherited through the prototype chain.
Tests whether the specified property in an object can be enumerated by a call to js.Object.properties, with the exception of properties inherited through the prototype chain. If the object does not have the specified property, this method returns false.
MDN
(thisFunction11: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) ⇒ R).apply(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
(thisFunction11: (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) ⇒ R).toString()