All my constants are near the top of my javascript file like below.
When I search the core JQuery file, nothing comes up for Constant and I can’t see that they are pulling out constants? Do they not have any, do they have them spread out through the code, if so, why don’t they consolidate them?
I’m not concerned about the language construct const but the concept of pulling out your constants into one place like below.
var Constant =
{
VALIDATE_ON: 1,
JSON_ON: 0,
ROOT: '',
PICTURES: '../pictures/',
TEXT: '../text/',
FAVICON: '../images/logo_small.ico',
IMAGES: '../images/',
GATEWAY: 'class.ControlEntry.php',
ENTER_KEY: 13,
SECOND: 1000,
MINUTE: 60,
HOUR: 3600,
DAY: 43200,
AML:
{
"PASS": 0,
"FAIL": 1,
"NOTDEFINED": 2
}
};
If you look at the jQuery source code you will also see some constants which represent for example different regular expressions at the beginning. It’s just that they are not defined in the global scope to avoid polluting it. They are defined inside the
jQueryfunction. This way there is no risk of conflicts between different scripts that could use the same names in the global scope.So, of course that it is a good idea to consolidate your constants, just don’t pollute the global scope.