2015-08-06 4 views
2

Например может ли написать функцию с помощьюМожно ли переименовать «функцию» в JS?

ಠ(){} 

вместо

function(){} 

Примечание: ಠ является допустимым идентификатором в соответствии с ECMAScript 6/Unicode 8.0.0.
https://mothereff.in/js-variables

+2

Вы спрашиваете, если вы можете изменить ключевые слова на языке? –

+5

'function' не является идентификатором. – loganfsmyth

+0

Вы можете сделать следующее: 'var ಠ = function() {};'. – DRD

ответ

4

Ближайший вещь, которую вы можете сделать, это он же Function constructor:

var ಠ = Function; 

Но это не позволит вам определить функции точно таким же образом, использование будет:

ಠ("arg1","arg2","alert('function body');if(typeof(ಠ) !== 'undefined')alert('you\'ve done a very bad thing');"); 

Вы вероятно, не должен делать это, если вы не собираетесь заниматься каким-либо вызовом в гольф, обфускации, а также вы делаете небольшой сайт шутки и хотите сделать его более трудным (или более забавным) для людей, чтобы читать ваш код. Не делай этого ни для чего серьезного. Пожалуйста.

+0

В какой момент что-то считается «серьезным»? –

+0

@BryanGrace Eh, вероятно, достойная метрика, когда другие люди смотрят на нее более одного раза? –

7

Нет, вы не можете.

Возможно, вы сможете использовать что-то вроде Sweet или другого транспертера JS.

Логический вопрос, который еще не задан, - Почему? Моя первая реакция заключается в том, что это проблема X/Y, поскольку function не кажется особенно обременительной сама по себе.

+1

.... потому что я хочу использовать свой контроллер midi как вторую клавиатуру, и мне нравятся иероглифы. Возможно, я единственный ... –

+2

@BryanGrace: Это, безусловно, делает ваш код нечитаемым, если не всем, по крайней мере, для всех, кроме вас. Не можете ли вы настроить контроллер midi для вставки всего ключевого слова 'function'? – Bergi

+0

Определенно, с точки зрения нечитаемости, хотя это было бы просто вопросом чтения в документах транспилятора ... Я думаю ... #noBiggie –

2

Если вам не нравится function(){}, вы можете использовать arrow function в ES6.

Отказ от ответственности: стрелка функции лексически связать this значение


var add = function(x,y) { return x + y; }; 

можно записать в виде

let add = (x,y) => x + y; 

Это значительно компактнее при запуске вложенности функции слишком

var add = function(x) { 
    return function(y) { 
    return x + y; 
    }; 
}; 

можно записать в виде

let add = x => y => x + y; 
Смежные вопросы