2014-12-10 4 views
1

я копался некоторым старым яваскрипт кода, когда я пришел через следующий фрагмент кода:Что такое '|| {}»Делать

constructor: function (data) { 
    DataArr = data || {} 
    if (DataArr.fileId == undefined) 
     { .... } 
} 

значения, передаваемое в качестве данных всегда массив:

{fileId: 'someFileId', fileName: 'someFilename' ... } 

Вопрос: Так что же делает data || {} и в каком контексте я должен его использовать?

Примечание: В коде используются как jquery, так и extjs. Возможно, эта функция доступна только в одной из этих фреймворков.

Благодарю вас за ваше время.

Note2: Я знаю, что это, вероятно, имеет какое-то отношение к массиву (например, раскрытие значений). Но я искал более глубокую информацию.

+4

Если 'data' является falsy (обычно не определено) установить его как пустой объект, в противном случае 'data.fileId' будет вызывать ошибку uncaught type. –

+0

@ A.Wolff Мой плохой. Я корректировал фрагмент кода выше, чтобы представить фактический код. И в этом я редактировал неправильное поле. Скорректирует его немедленно – User999999

+0

Как в качестве примечания, 'DataArr' не является массивом –

ответ

4
DataArr = data || {}. 

Это не связано с JQuery или любой library.It это Javascript

Надеюсь, вы понимаете || будет стоять или оператор

Итак, вот условие, если данные есть, то добавить данные DataArr еще инициализируется пустой объективистские т

Вот оснастке из Google Chrome инспектора ![enter image description here

+1

О, я вижу. Не знал, что там было «если» подразумевается/скрывается там. Теперь я делаю гораздо больше смысла. – User999999

1

если данные верно или не пустой varible данные будут содержать данные, другой мудрый будет INIT, как пустой объект

data = data || {} 
2

data = data || {}

это же самое

if(data) { 
    data = data 
} else { 
    data = {} 
} 
Смежные вопросы