Dart впервые был использован в Google для веб-серверов и мобильных приложений. Его путь начался примерно в 2011 году, но в то время он не был широко известен за пределами Google. Dart компилируется так же, как и другие языки программирования, а автономный Dart SDK поставляется с Dart VM. В Dart есть менеджер пакетов под названием pub. Когда Google официально анонсировала Flutter в 2017 году, язык Dart привлек больше внимания в отрасли. Dart поднялся еще больше после конференции Google I/O 2018 года. Мобильные разработчики все чаще обращаются к Flutter, и если вы освоили OOPS, это будет плюсом для изучения Dart.
Помимо типов, Dart также является более строгим языком. Когда вы работаете в JavaScript, вы имеете дело с «истинным» значением в условном выражении.
Теперь, если мы возьмем тот же код в Dart, вы будете знать, что условие должно иметь статический тип bool.
Ваш код будет выглядеть так:
если (strName.length › 0)
И еще один предпочтительный способ:
если (strName.isNotEmpty)
Еще один момент, связанный с этим, заключается в том, что в Dart не будет найдено тройное равенство (===).
Распечатать
В JavaScript вы используете метод console.log для записи объекта JavaScript, строки JavaScript или примитивных значений, таких как целые числа и числа с плавающей запятой.
Но в Dart вы бы использовали print:
print('Меня зовут $Jonathan');
И всякий раз, когда вы хотите получить доступ к свойствам переменных и вызывать функции, все, что вам нужно сделать, это заключить их в фигурные скобки.
print('длина ${strName.length}');
карта
Мы можем получить из карты новый список, в котором все элементы преобразованы.
var mappedCountries = country.map((country) =› ‘$country’).toList();
print(mappedCountries); // =› ['Албания', 'Алжир', 'Андорра']
Or
map.forEach((k, v) =› list.add(Employee(k, v)));
печатать (список);
Карта в Dart — это тип данных, похожий на словарь, который содержит пары ключ-значение. В типе данных Map нет ограничений, но вы должны помнить, что ключи должны быть уникальными внутри типа данных Map. Список подобен массиву и представляет собой набор элементов в упорядоченном виде. Вы можете указать длину списка, если хотите. И вы даже можете сделать его выращиваемым, если хотите.
содержит()
Много раз вы хотите проверить, есть ли элемент в списке или нет, тогда есть метод contains().
var numberArray = [1, 3, 2, 5, 4];
print(numberArray.contains(5)); // =› правда
Параметры функции
Когда дело доходит до параметров функций, вы обнаружите большую разницу между JavaScript и Dart. Dart, безусловно, может занять ваше время, но вы найдете его мощную реализацию.
Либо вы можете передавать параметры в setPosition, либо также можете передавать по имени.
getFullName('Джонатан', 'Хитченс');
по имени:
getFullName(firstName: ‘’Jonathan’’, lastName: ‘’Hitchens’’);
В случае конструктора this.fieldName указывает, что переданное значение должно быть присвоено свойству.
Контакт(this.LastName);
Обработка массивов
Массив почти такой же, но мы упомянули здесь небольшую разницу.
Во-первых, вместо push; добавить используется, когда необходимо добавить элементы в массив. У Dart есть вспомогательные методы «first» и «firstWhere», которые, как следует из названия, дадут вам первый элемент массива. Если совпадение не найдено, произойдет ошибка, и вы вернете значение в «orElse», необходимое для решения проблемы.
Окончательный и постоянный
Здесь важно понять, что final описывает переменную, а const описывает значение. Как только конечная переменная установлена, вы можете изменить значение на то, на что оно указывает, но значение const заморожено, и вы не можете его изменить.
Еще один отличный совет, который вы найдете при работе с файлом анализа_опций Flutter, заключается в том, что вам нужно использовать конструкторы const везде, где это возможно. И как только вы разрешите фреймворку кэшировать виджеты, производительность вашего приложения значительно повысится.
Толстая стрела
Стрелка FAT используется для однострочной функции.
Он будет крутиться так:
моя функция: () =› true,
Это делает вашу читабельность намного красивее.
Исследуйте дженерики
Dart generic гарантирует типы объектов и, таким образом, приносит пользу Flutter. Кодирование класса или функции таким образом, чтобы они работали с рядом типов данных, а не только с одним, называется универсальным подходом. С помощью дженериков вы можете выполнять более базовую проверку типов во время компиляции, и, таким образом, безопасность типов будет встроена в ваш код. Коллекции содержат информацию одного и того же типа, и безопасность типов разрешена. Обобщения позволяют создавать повторно используемые классы, методы и функции с различными типами информации. Когда вы создаете приложения Flutter с Dart, вы будете использовать дженерики для коллекций, фьючерсов и потоков, которые на самом деле являются «изюминками центральной библиотеки».
Генераторы коллекций означают, что каждый компонент внутри коллекции будет иметь обычный вид.
Список мойСписок
Сопоставить мою карту
Этот код идентичен коду в приведенном ниже фрагменте:
Этот код понадобится вам при работе с широким спектром типов. Dart Analyzer будет работать с типом, указанным в угловых скобках, и не даст вам ошибиться.
Список‹String› мой список;
Узнайте больше о Dart и Javascript здесь: https://techfastly.com/dart-javascript/