It's because the Symbol() function is creating a primitive value, not an object. There is no literal syntax for symbols, as there is for numbers, strings, etc., and so the symbol function is how you make them. Having a symbol constructor would be of little use (it'd be like using new Number()) and so it wasn't included.