带下划线的字符串Javascript含义

时间:2016-06-24 21:25:40

标签: javascript linux

我在某些地方看到字符串被_()包围,如_('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;

该功能的用途是什么?

3 个答案:

答案 0 :(得分:5)

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

_不是保留字符,不能超过ia等等。

实际例子:

_('test')
//ReferenceError: _ is not defined

function _(str){
    console.log(str);
}

_('test')
//Output: test

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

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

答案 1 :(得分:0)

JavaScript中的NO _函数,除非您自己实现,或使用外部库。

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

答案 2 :(得分:0)

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

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

const Lang = imports.lang;

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

_('Hello') //Hola