Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
I have seen this in articles describing the varios types of namespaces. I fail to understand the code. Could you help break the code down for me?
i.e.,
RegExp.prototype.test
is not a pure function: it modifies itsthis
. It's documented, but I'm unsure it's a good thing ( this of course really means I think it's not ).anyway no fun with broken code =)
Defining functions on prototype is usually a better idea: http://stackoverflow.com/questions/4508313/advantages-of-using-prototype-vs-defining-methods-straight-in-the-constructor
Nope @arichidoru, in fact it's even clearer the way you've put it. []s
Is there any particular reason for adding
sayHello()
viaMyClass.prototype
and not directly in theMyClass = function(phrase){this.phrase = phrase; this.sayHello = function(){return this.phrase}}
?The description didn't say not to overwrite a falsey value. It said not to redefine an existing namespace.
I understand your concern about falsy values, but this does not fix this (unlikely) scenario. In case MyNamespace is
0
(or any other primitive value) your code would fail on this line:Since MyClass reference will be discarded right after the number is coerced to an object. Another example below: