Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

217
Views
Indexe un objeto JS como una metatabla en Lua

¿Hay alguna manera de indexar un objeto en JavaScript como Metatable en Lua?

Como por ejemplo:

 var obj = {a:"a",b:"b",properties:{c:"c",d:"d"}} metatable(obj,obj.properties) // Make it so that if you try to index something that's not inside the object it will go to the parameter one console.log(obj.a) // "a" console.log(obj.c) // "c"

Para LMD: ¿Cómo lo hago para múltiples objetos? Como por ejemplo:

 var objs = [ obj1 = {name:"Button";class:"button";properties:{text:"Press this"}] ] for (i in objs){ metatable(objs[i],objs[i].properties) } console.log(objs.obj1.text) // "Press this"
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Sí: JavaScript tiene prototipos . Estos no son exactamente lo mismo que Lua, pero se pueden usar para fines simples de indexación de metatablas. Una forma de lograr su ejemplo sería la siguiente:

 const properties = {c: "c", d: "d"} // prototype const obj = Object.create(properties) // create object with prototype obj.a = "a"; obj.b = "b"; console.log(obj.a) // "a" console.log(obj.c) // "c"

O si ya tiene los objetos proporcionados, como en su segundo ejemplo, puede usar Object.setPrototypeOf(object, prototype) , que es comparable a setmetatable(object, {__index = prototype}) en Lua:

 const objs = [{name:"Button", class:"button", properties: {text:"Press this"}}] for (const obj of objs) Object.setPrototypeOf(obj, obj.properties) console.log(objs[0].text) // "Press this"

es decir, la función de metatable que ha estado buscando literalmente es Object.setPrototypeOf .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!