Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Looks like Symbols is a type being introduced because objects, when used as a key in another object, gets turned into a string, unlike Lua tables can be used as keys of other tables, and are guaranteed to not be equal to any other value. Lua tables are built-in symbols. Javascript's objects are not.


Yeah, it seems like kind of an odd choice to introduce a whole new type and extend the kind of values that can index an object, when extending object indexing alone would do everything symbols do anyway.


It's actually not extending object indexing. From the object's point of view, the symbol is just another (albeit opaque) string.


There's still some magic involving the symbol properties being automatically non-enumerable, right?


Are you talking about Maps in ES6 or Symbols? Using an object as a key is what you can do with Maps.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: