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/