JavaScript 回调函数 什么时候可以写在自己的{}里自己的名字呢?

function getCurrentTabId(callback)
{
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs)
    {
        if(callback) callback(tabs.length ? tabs[0].id: null);
    });
}


// 获取当前标签ID
$('#get_current_tab_id').click(() => {
    getCurrentTabId(tabId => {
        alert('当前标签ID:' + tabId);
    });
});

图片说明

就是这个tabId,怎么可以直接在自己{}写?
我做了个实验怎么不行呢?有那些限制条件呢?

    $("#del_com").click(e => {

        tc();

    });


    function tc()
    {
        alert( "[" + tc + "]");
    };



这是 lambda 的一种,基本语法是

(参数列表)=> {
}

花括号内写具体的操作,里面可以访问参数的列表中的参数,而且参数列表的名称是自定义的,tabId 是任意命名的。

如果回调函数是需要一个参数的,那么就可以写
那个不是名字,而是函数的参数。