const o = Object.create(null, {
m: {value: function() {}, enumerable: true},
"2": {value: "2", enumerable: true},
"b": {value: "b", enumerable: true},
0: {value: 0, enumerable: true},
[Symbol()]: {value: "sym", enumerable: true},
"1": {value: "1", enumerable: true},
"a": {value: "a", enumerable: true},
});
console.log('--= for..in =--');
for (const key in o) {
console.log(key);
}
console.log('\n--= Object.keys =--');
for (const key of Object.keys(o)) {
console.log(key);
}
console.log('\n--= Object.values =--');
for (const value of Object.values(o)) {
console.log(value);
}
Y29uc3QgbyA9IE9iamVjdC5jcmVhdGUobnVsbCwgewogIG06IHt2YWx1ZTogZnVuY3Rpb24oKSB7fSwgZW51bWVyYWJsZTogdHJ1ZX0sCiAgIjIiOiB7dmFsdWU6ICIyIiwgZW51bWVyYWJsZTogdHJ1ZX0sCiAgImIiOiB7dmFsdWU6ICJiIiwgZW51bWVyYWJsZTogdHJ1ZX0sCiAgMDoge3ZhbHVlOiAwLCBlbnVtZXJhYmxlOiB0cnVlfSwKICBbU3ltYm9sKCldOiB7dmFsdWU6ICJzeW0iLCBlbnVtZXJhYmxlOiB0cnVlfSwKICAiMSI6IHt2YWx1ZTogIjEiLCBlbnVtZXJhYmxlOiB0cnVlfSwKICAiYSI6IHt2YWx1ZTogImEiLCBlbnVtZXJhYmxlOiB0cnVlfSwKfSk7Cgpjb25zb2xlLmxvZygnLS09IGZvci4uaW4gPS0tJyk7Cgpmb3IgKGNvbnN0IGtleSBpbiBvKSB7Cgljb25zb2xlLmxvZyhrZXkpOwp9Cgpjb25zb2xlLmxvZygnXG4tLT0gT2JqZWN0LmtleXMgPS0tJyk7Cgpmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhvKSkgewoJY29uc29sZS5sb2coa2V5KTsKfQoKY29uc29sZS5sb2coJ1xuLS09IE9iamVjdC52YWx1ZXMgPS0tJyk7Cgpmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMobykpIHsKCWNvbnNvbGUubG9nKHZhbHVlKTsKfQ==