Quiere saber cómo configurar una función con un objeto como un mapa o un mapa débil. Y cómo identificar si usar mapa o mapa débil.
function testCases() { let model = new JsModel({name: 'Harry', age: 20}); // few methods console.log(model.get('name')) // 'Harry' console.log(model.get('age')) // 20 // few other methods model.set('name', 'Bob'); console.log(model.get('name')) // 'Bob' console.log(model.has('name')) // true model.unset('name'); console.log(model.has('name')) // false const city = new JsModel(); // valid city.set('name', 'San Jose'); city.set('population', 1000); console.log( city.get('name')) // San Jose console.log( city.get('population')) // 1000 console.log(city.get('noProp')) // undefined } testCases();Soy nuevo en Javascript, así que quiero entender si el código anterior me gusta cómo hacer que estos console.logs funcionen.
Escribí mucho javascript y nunca usé WeakMap. Así es como yo escribiría ese código.
function testCases() { const model = {name: 'Harry', age: 20}; // few methods console.log(model.name) // 'Harry' console.log(model.age) // 20 // few other methods model.name = 'Bob'; console.log(model.name) // 'Bob' console.log(model.name !== undefined) // true delete model.name; console.log(model.name !== undefined) // false const city = {}; // valid city.name = 'San Jose'; city.population = 1000; console.log(city.name) // San Jose console.log(city.population) // 1000 console.log(city.noProp) // undefined } testCases();