Неперехваченная ошибка типа: Не удается прочитать свойства null (чтение «split») — это ошибка, которую я получил при развертывании своего расширения chrome

#javascript

Вопрос:

я новичок в javascript, и это моя первая задача с кодом. после написания расширения chrome я пытаюсь развернуть расширение chrome, но получаю сообщение об ошибке выше, и расширение работает неправильно в соответствии с функциональностью расширения. Вот коды

     function getURL(){

    return window.location.href

    }

    const mainEL = document.getElementById("main")


    const eL=document.getElementById("caption")


    const saveEL=document.getElementById("save")

    const topKeys=['FRED','SAM','PER','CRAFT','MARK','SANDRA','DERICK'];

    const searchKeys=['RITA','PER','DERICK','FRED','BEN','ZOEY'];

    const urlString = getURL();

    const search2=new URL(urlString).searchParams.get("q").split(" ");

    const found=String(search2).toUpperCase().split(",").filter((val)=>{return 
    searchKeys.includes(val)});

    const isFound=topKeys.some(ai=>found.includes(ai));


    function noMatch(){

     for(i of found){

    eL.innerHTML =[i] ', '
     }
    }


    function topMatch(){

    eL.innerHTML="<a href='#'>there is a match</a>"
    }

    if(found.length>0amp;amp;isFound===true){

    topMatch()

     }else if(found.length>0amp;amp;isFound===false){

    noMatch()
    }
 

Комментарии:

1. Является ли «Строка» функцией, которую вы написали? В противном случае, вы имели в виду использовать search2.toString() ?

2. Я думаю, что когда вы не попадаете q в param, он дает null, и вы не можете вызвать split на null. Поэтому просто передайте значение по умолчанию, используя .? и || если q отсутствует. Нравится new URL(urlString).searchParams.get("q")?.split(" ") || '';