Знак доллара «$» в JavaScript может использоваться в разных ситуациях. Самое простое — им можно называть имена переменных.
Глобальный объект и ключ знак доллара в свойстве, объявленный через var
JavaScript позволяет задавать имена переменных, используя в качестве первого символа знак доллара — «$«.
В результате, если мы объявляем переменную через зарезервированное слово var
, то мы фактически создаём ключ с именем знака доллара у глобального объекта. Важно отметить, что мы говорим о var
, который написан на самом верхнем уровне видимости программы.
var $ = 1; window.$ 1
Скриншот:
Обычный объект и ключ знак доллара в свойстве
Объект может быть самым простым, объявленным литерально. И у этого объекта может быть свойство, ключ которого именуется знаком доллара. Очень похожая ситуация как у глобального объекта.
let obj = {q:1} obj.$ = 2 2 obj.$ 2
Всё просто. Доллар — это просто строковый символ.
Утверждение в шаблоне регулярного выражения
Регулярные выражения используются при работе со строками. Очень часто приходится сопоставлять строку опираясь на оканчивающиеся символы.
Чтобы объяснить шаблону, что мы хотим искать вхождения на конце строки, нужно использовать символ доллара.
'654321'.match(/321$/) ['321', index: 3, input: '654321', groups: undefined] '999321'.match(/321$/) ['321', index: 3, input: '999321', groups: undefined] '77721'.match(/321$/) null
Результаты сопоставлений:
Литерал Шаблона при работе с динамическими строками
Очень часто приходится собирать строки из разных кусочков. И обычно хочется создать такой вид строки внутрь которой можно помещать значение из переменной. По стандарту ECMAScript это называется Template Literal.
Чтобы воспользоваться литералом шаблона, нужно использовать обратные кавычки при оформлении
let q = 'blablabla';
undefined
let w = `My name is ${q}`;
undefined
w
'My name is blablabla'
Результат работы:
Подстановки строк регулярными выражениями и захваты
Работая с шаблонами регулярных выражений можно использовать захваты для модификаций строк.
'qqqwwweee'.replace(/(.+)(www)(.+)/g, '$2$1$3') 'wwwqqqeee' 'qqqwwweee'.replace(/(.+)(www)(.+)/g, '$2$3$1') 'wwweeeqqq' 'qqqwwweee'.replace(/(.+)(www)(.+)/g, '$3$2$1') 'eeewwwqqq'
Скриншот работы