Недавно я наткнулся на этот странный код JavaScript:
export type ImageSource = {
id: string,
URI: string,
thumbnail: string,
title: ?string,
description: ?string
}
type Props = {
images: Array<ImageSource>,
onPressImage?: Function,
topMargin?: number,
closeText?: string,
infoTitleStyles?: Animated.View.style,
infoDescriptionStyles?: Animated.View.style,
enableTilt?: boolean
}
Если я правильно понимаю, строка - это тип данных, но может ли кто-нибудь объяснить, в чем разница между строкой и? Строкой.
Кроме того, что означает следующая строка кода:
topMargin?: number,
Я получил его из образца приложения, ориентированного на реакцию, я предполагаю, что это означает необязательное свойство, но я не могу найти никакого объяснения при поиске в Google.
тоже может быть поток flow.org



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Скорее всего, это либо Машинопись, либо Поток. topMargin?: number представляет собой необязательный параметр, а title: ?string представляет собой возможно типы.
Хотите знать, если это обычная вещь, почему об этом не упоминается ни в одной документации по реагированию?
TypeScript - это строго типизированный объектно-ориентированный компилируемый язык. В основном люди кодируют на Javascript, и если это был поток; flow - это статическая проверка типов для javascript, вроде плагина, поэтому нет смысла добавлять его в документацию.
Это похоже на машинописный текст, а это означает, что поле является необязательным, по сути:
numberилиundefinedtypescriptlang.org/docs/handbook/…