7

mam spotkać ten przykład i został całkowicie stracił ...javascript console.log nowa funkcja z "raw"?

const test = (hey) => console.log(hey); 

console.log(test `wtf`); 

Przede wszystkim jest to ważne w console.log, to wydaje się być

["wtf", raw: Array[1]] 

To jak funkcja jest już wykonane i z dodatkowym raw? Czy ktoś może wyjaśnić?

+0

'console.log (test" w ** f "); '? –

+1

https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Global_Objects/String/raw Przypuszczam, że jest to string templater –

+4

Oznaczone ciągi szablonów: https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Template_literals # Tagged_template_literals – deceze

Odpowiedz

5

To tylko Tagged Template Literal. Wygląda fantazyjnie, ale nie ma w tym nic nadzwyczajnego. Uwaga, są one częścią ES6/ES2015, więc będziesz musiał je tranpsować, jeśli planujesz obsługę starszych przeglądarek.

Literały szablonów to literały łańcuchowe z osadzonymi wyrażeniami. Możesz korzystać z wielu linii i funkcji interpolacji ciągów. Zostały one nazwane "ciągami szablonów" we wcześniejszych edycjach specyfikacji ES2015/ES6.

2

kredytowej @karmuran i @deceze

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals

surowy strun

Szczególna właściwość surowe, dostępnego na funkcję pierwszego argumentu oznaczone literałów szablonów pozwala na dostęp nieprzetworzone łańcuchy w miarę ich wprowadzania.

function tag(strings, ...values) { 
    console.log(strings.raw[0]); 
    // "string text line 1 \n string text line 2" 
} 

tag`string text line 1 \n string text line 2`; 
Powiązane problemy