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

296
Views
Operador ternario: cuando la variable no está definida

Tengo un fn que crea y completa la variable linkedinInsight cuando se invoca.

Solo una descripción general rápida de este fn, verificará los datos de respuesta y verá si hay una coincidencia. En caso afirmativo, completaría la variable linkedinInight con los datos.

Usando la operación ternaria, no puedo mostrar "indefinido" cuando la variable no está definida. linkedinInsight === undefined ? "undefined" : "Variable exist"

Sin embargo, si fn obtiene una coincidencia, podría ver que se muestra "Variable exist" .

En el caso de que la variable no esté undefined , desde la consola, se muestra

 Error handling response: TypeError: Cannot read properties of undefined (reading 'insight_tags') at chrome-extension://fpncfpgjnkfnlafmojhhpgophpgikaao/popup.js:13:60

El objetivo aquí es presentar los datos y si no pudimos encontrar datos, me gustaría devolver un "Mensaje de datos no encontrados".

¿Alguna ayuda chicos?

 document.addEventListener( "DOMContentLoaded", function () { var checkPageButton = document.getElementById("clickIt"); checkPageButton.addEventListener( "click", function () { chrome.tabs.getSelected(null, function (tab) { const backgroundPage = chrome.extension.getBackgroundPage(); const linkedinInsight = backgroundPage["_linkedin_pixel_data"][tab.id].insight_tags; alert( linkedinInsight === undefined ? "undefined" : "Variable exist" );
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

El problema está en la línea de abajo, reemplace

 const linkedinInsight = backgroundPage["_linkedin_pixel_data"][tab.id].insight_tags;

con

 const linkedinInsight = (backgroundPage && backgroundPage["_linkedin_pixel_data"] && backgroundPage["_linkedin_pixel_data"][tab.id] && backgroundPage["_linkedin_pixel_data"][tab.id].insight_tags) || undefined;

O si se admite el encadenamiento opcional

 const linkedinInsight = backgroundPage?.["_linkedin_pixel_data"]?.[tab.id]?.insight_tags;
about 4 years ago · Juan Pablo Isaza Report

0

Usar un operador coalescente nulo

 let exists = value ?? `${value} doesn't exist`;

Si el value no está undefined o es null , devuelva el valor en el lado derecho del operador ??

 function check(X) { let present = X ?? `"X" does not exist`; let limit = X < 10 && X > 0 ? `"X" is within range` : `"X" is out of range`; if (typeof present == 'string') { console.log(present); return; } console.log(limit); } check(5); check(10); check(-1); check(); check(null);

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!