Created
April 12, 2019 13:40
-
-
Save codenameEli/d424d0770aa1ba863e602dc88b852f6e to your computer and use it in GitHub Desktop.
Spiderman Singleton
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var Spiderman = (function() { | |
var _firstName = "Peter"; | |
var _middleName = "Benjamin"; | |
var _lastName = "Parker"; | |
var _secret = "Spidey Senses"; | |
function _getName() { | |
return _firstName + ' ' + _middleName + ' ' + _lastName; | |
} | |
return { | |
health: 100, | |
hairColor: "brown", | |
eyeColor: "hazel", | |
species: "Human mutate", | |
superpowers: ["IQ"], | |
affiliations: ["Avengers", "Fantastic Four"], | |
partnerships: ["Daredevil", "Venom"], | |
setHealth: function(value) { | |
this.health = value; | |
}, | |
getName: function(secret) { | |
if (secret !== _secret) throw new Error("Wrong secret.. try again"); | |
return _getName(); | |
} | |
} | |
})(); | |
Spiderman.getName('password'); // error | |
Spiderman.getName('spidey senses'); // error | |
Spiderman.getName('Spidey Senses'); // "Peter Benjamin Parker" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment