Я увидел следующую строку в угловом js-фильтре. Что оно делает?Вход ORring с ''
input = input || '';
https://docs.angularjs.org/guide/filter
Я увидел следующую строку в угловом js-фильтре. Что оно делает?Вход ORring с ''
input = input || '';
https://docs.angularjs.org/guide/filter
Это обычно используемая конструкция в javascript для значения по умолчанию для неопределенного аргумента в функции.
Это эквивалентно:
if (!input) {
input = ' ';
}
Или
input = input ? input : ' ';
Или более многословен:
if (input === null || input === undefined || input === 0 || input === "" || input === false) {
input = ' ';
}
Так что в этом случае он назначает место в случае input
пустая строка или не определено/указано.
В Angularjs, это syntaxe проверяет, установлен ли вход нуль. Если input
равно null, значение будет `` иначе оно будет input
.
Этот синтаксис может избежать null
или undefined
значение.
Пример из углового документа (возможно, например, в котором вы видите этот синтаксис):
angular.module('myReverseFilterApp', [])
.filter('reverse', function() {
return function(input, uppercase) {
input = input || '';
var out = "";
for (var i = 0; i < input.length; i++) {
out = input.charAt(i) + out;
}
// conditional based on optional argument
if (uppercase) {
out = out.toUpperCase();
}
return out;
};
})
.controller('MyController', ['$scope', function($scope) {
$scope.greeting = 'hello';
}]);
Это в основном положить пустую строку вместо значения null
и избежать нулевого значения, если вы что-нибудь в не типа пример программы.
спасибо за ответ. Сначала я увидел более ранний пост, поэтому я отметил его :) – dlearner
это удалить пробелы во входных данных? – dlearner
это логическое «ИЛИ», поэтому я предполагаю, что это означает, что 'input' является либо введенным данным, либо если этот ввод задан как NULL, он вводит хотя бы' string.Empty' вместо 'NULL' , – St0fF