Изучаем CoffeeScript. Типы данных.
Всем привет! Сегодня мы поговорим про типы данных в языке CoffeeScript.
Обязательно копируйте и вставляйте код в свой компилятор, чтобы посмотреть, что будет на выходе в чистом javascript.
Итак, первое - объявлять переменные в языке coffeescript не нужно. Компилятор сделает все за вас
n = 10
s = 'string'
b = true
Точки с запятой, как вы можете видеть, ставить также не надо.
Теперь о типах данных. Тут все просто, ибо они точно такие же, как и в чистом javascript: целые числа, вещественные числа, 8 и 16-ричные числа, строки, булев тип и т.д. Однако, не все осталось без изменений. Например, булев тип вы можете объявлять так:
bool = true // true
bool = yes // true
bool = on // true
bool = false // false
bool = no // false
bool = off // false
Делают то же самое, но код можно сократить.
Строки вы можете писать на нескольких строчках и не думать об экранировании переносов
string = "some very
very very long
string"
На выходе вы получите строку без переносов, естественно. Если вам нужно, чтобы переносы сохранялись, то вы можете написать так:
string = """
Lorem ipsum dolor sit amet,
consectetur adipisicing elit.
Aliquam alias optio nostrum eligendi nihil voluptatum,
fuga labore quibusdam, provident voluptatem.
Tenetur eius voluptatum accusantium quasi quia,
dicta quidem asperiores magni.
"""
Теперь поговорим про интерполяцию строк. На примере все будет понятно
name = "Виталий"
greeting = "Привет, #{name}!"
Вот так просто мы можем на прямую в строку вставить переменную или даже выражение
name = "Виталий"
greeting = "Привет, #{name.toUpperCase()}!"
Данный метод работает только в двойных кавычках.
Перейдем к массивам.
array = [
1, 2, 3
4, 5, 6
7, 8, 9
]
Мы можем переносить все, что угодно и где угодно. Также мы можем не писать запятую после последнего в строчке элемента.
Помимо этого, в coffeescript есть диапазоны
range = [0..17] // [0, 1, 2, 3 .. 17]
range = [0...17] // [0, 1, 2, 3 ... 16]
Думаю, тут все понятно
Диапазоны также могут быть методом slice
range = [0...37]
range[0..17] // range.slice(0, 18)
range[7...17] // range.slice(7, 17)
range[..17] // range.slice(0, 18)
range[7..] // range.slice(7)
Мы также можем скопировать массив
FirstRange = [0..27]
SecondRange = FirstRange[..]
Теперь перейдем к объектным литералам
user =
name: "Виталий"
age: 17
status: "Программист"
skills:
html: 10
css: 7
javascript: 100500
coffeescript 10
Скопируйте данный код и посмотрите, что за объект получится, сами.
Теперь немного поговорим о регулярных выражениях
card = ///
^4 # Начинается с 4
[0-9]{12} # 12 цифр
(?:[0-9]{3})?$ # У новых карт 16 цифр
///
Как вы можете видеть, мы можем вставлять комментарии прямо в регулярные выражения. Однако, их, конечно же, не будет в скомпилированном javascript.
Ну, а на этом у меня все. Спасибо за внимание!
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.