2015-04-01 3 views
0

У меня есть вопрос о некотором javascript-коде, который я видел в javascript-библиотеке google.?: In javascript objec property

1.

constructor (sw?: LatLng, ne?: LatLng); 

выше находится внутри класса под названием LatLng. Я не уверен, что здесь происходит. Почему используется «?:», И что это означает, что параметры передаются в функцию.

2.

lat(): number; 

выше находится внутри другого объекта. Я думаю, это говорит мне, что функция этого объекта возвращает число, но я не уверен, что это так, поскольку я думал, что вы не можете указать типы возвращаемых данных в javascript.

3.

export interface MapOptions { 
     backgroundColor?: string; 
     center?: LatLng; 
     disableDefaultUI?: boolean; 
     disableDoubleClickZoom?: boolean; 
     draggable?: boolean; 
     draggableCursor?: string; 
     draggingCursor?: string; 
     heading?: number; 
     ...etc. 
     } 

Какого черта все это? Является ли это даже законным javascript. Что делает оператор??: (Или что бы вы там ни называли)?

Я опытный C++ и определение типа - это то, что мой разум видит где угодно. Я пытаюсь приспособиться к переменным javascript с не типами, но это здесь немного запутывает ... все справа от двоеточия просто назначает типы свойствам слева? или используется оператор сравнения для сравнения чего-то?

UPDATE: Я предполагаю, что это не javascript в конце концов. Не понимаю, почему он проголосовал за то, что он был машинописным. Так много из того, что это учебная среда, ха!

+2

Это не JavaScript. –

+0

Кажется, что часть документации, '?' Отмечает функции-аргументы/свойства объекта как необязательные –

+0

'lat(): number', вероятно, является методом' lat() 'некоторого объекта, который возвращает значение типа 'number' –

ответ