情况一:
let game = {
name: '俄罗斯方块',
};
let methods = {
up: Symbol(),
down: Symbol()
};
game[methods.up] = function () {
console.log("改变形状");
}
game[methods.down] = function () {
console.log("快速下降");
}
game[methods.down](); //调用成功
情况二:
let youxi = {
name:'狼人杀',
[Symbol("say")]:function () {
console.log("发言")
},
[Symbol('zibao')]:function () {
console.log("我自爆狼身份")
}
}
// 方法一
const langrensha = Object.getOwnPropertySymbols(youxi);
console.log(langrensha)
youxi[langrensha[0]](); //调用成功
// 方法二
const langrensha2 = Reflect.ownKeys(youxi);
console.log(langrensha2);
youxi[langrensha2[2]](); //调用成功

本文介绍如何利用JavaScript中的Symbol来为对象定义私有方法,并通过不同方式调用这些私有方法。示例展示了两种游戏场景下Symbol的使用方法。
3万+

被折叠的 条评论
为什么被折叠?



