Although Nodejs also uses this technique, we can't do the same thing.
https://github.com/nodejs/node/search?q=primordials+symbol&unscoped_q=primordials+symbol
TypeScript Version: 3.7.x-dev.20200125
Search Terms:
Code
export { }
const Symbol = globalThis.Symbol;
const sym = Symbol();
[][Symbol.iterator];
Expected behavior:
const sym = Symbol(); // typeof sym
[][Symbol.iterator]; // Refer iterator method
Actual behavior:
const sym = Symbol(); // symbol
[][Symbol.iterator]; // error
Playground Link: http://www.typescriptlang.org/play/index.html?target=5&ts=3.8.0-dev.20200125&ssl=1&ssc=1&pln=2&pc=21#code/KYDwDg9gTgLgBAbzgXwFAGMIDsDO8DKAngLYBGEANnALxwDmFEpAhhQCoAWAljgHRFlKAbgzY8cHCRpwB5CgAoAlCIDaAXRWzKvLjGBRmMaGqA
Related Issues: #21603 #35478