带有下划线Javascript含义的字符串

String with underscore Javascript meaning

本文关键字:字符串 Javascript 下划线      更新时间:2023-09-26

我在一些地方看到字符串被_()包围,比如_('some string')

例如,在桌面程序中有这些导入:

const Applet = imports.ui.applet;
const St = imports.gi.St;
const Gdk = imports.gi.Gdk;
const Gtk = imports.gi.Gtk;
const Keymap = Gdk.Keymap.get_default();
const Caribou = imports.gi.Caribou;
const PopupMenu = imports.ui.popupMenu;
const Lang = imports.lang;
const Gio = imports.gi.Gio;
const Main = imports.ui.main;
const MessageTray = imports.ui.messageTray;

这个函数有什么用?

可以是任何东西。例如,整个underscore库是围绕使用_作为普通变量/函数/类名而构建的。

_不是保留字符,不多于ia等。

实际的例子:

_('test')
//ReferenceError: _ is not defined
function _(str){
    console.log(str);
}
_('test')
//Output: test

通常情况下,如果不使用underscore.js,它将用于您经常使用的函数,因此只使用单个字符。

注意:正如@Xedecimal和@AliTorabi所述,它也经常用于命名定义为国际化翻译器的函数,因为它非常短,并且经常使用。

在JavaScript中没有_函数,除非你自己实现它,或者使用外部库。

const _ = (str) => str.split('').join('_')
_("hello") // "h_e_l_l_o"

我会根据我得到的评论来回答自己。(我已经知道_不是什么特别的,而是一个正常的函数名,这不是问题)。

基于这些导入,它似乎是系统库的一部分。具体是:

const Lang = imports.lang;

用于自动将字符串翻译成其他语言。例如:

_('Hello') //Hola