как заменить undefined пустой строкой

Я использую jsPdf. Когда поле оставлено пустым, в pdf-файле печатается "undefined". Я хотел бы заменить это пустой строкой. Я пытаюсь использовать оператор if, но я не получаю его.

 doc.text(30, 190, "Budget : $");
    if ($scope.currentItem.JobOriginalBudget == "undefined") {

        doc.text(50, 190, " ");
    }
    else {
        var y = '' + $scope.currentItem.JobOriginalBudget;
        doc.text(50, 190, y);
    };

3 ответов


undefined является примитивным значением. Вместо сравнения с идентификатором undefined, вы сравниваете с 9-символьным строка "undefined".

просто удалите кавычки:

if ($scope.currentItem.JobOriginalBudget == undefined)

или сравните с typeof результат, который is строку:

if (typeof $scope.currentItem.JobOriginalBudget == "undefined")

по состоянию на ответ Я считаю, что вы хотите

doc.text(50, 190, $scope.currentItem.JobOriginalBudget || " ")

просто удалите "= = 'undefined'"

if (!$scope.currentItem.JobOriginalBudget) {
    doc.text(50, 190, " ");
}