let s1=Symbol('ly');
let s2=Symbol('ly');
console.log(s1,s2,s1===s2);
let s3=Symbol.for('ly3');
let s4=Symbol.for('ly3');
console.log(s3,s4,s3===s4);
let obj={
name:'ly',
age:18,
[s1]:'s1',
[s2]:'s2'
}
for (const key in obj) {
console.log(obj[key]);
}
console.log(Object.getOwnPropertySymbols(obj));
console.log(Object.keys(obj));
Reflect.ownKeys(obj).forEach(k=>{
console.log(k,obj[k]);
})
const f=function(a,b){
console.log(a,b);
}
f.apply=function () {
console.log('apply');
}
Function.prototype.apply.call(f,null,[1,2])
Reflect.apply(f,null,[3,4])
let obj2={
xxx:'yyy',
[Symbol.toStringTag]:'newType'
}
console.log(Object.prototype.toString.call(obj2));