2

I have a variable that can be either empty, number or text. I like to find only empty one. But the following codes using .length returned null for 0 number, though it returned 1 for "0" string . .toString.length even didn't work. Any suggestion? Thank you!

function test() {
  // criteria can be either empty, number or text. How can I check whether the critieria is empty?
  // In the example below, critiera_2.length returned null, not 1.
  criteria_1 = "";
  Logger.log(criteria_1.length);
  criteria_2 = 0;
  Logger.log(criteria_2.length);
  criteria_3 = "0";
  Logger.log(criteria_3.length);
  criteria_4 = "X";
  Logger.log(criteria_4.length);


  criteria_1 = "";
  Logger.log(criteria_1.toString.length);
  criteria_2 = 0;
  Logger.log(criteria_2.toString.length);
  criteria_3 = "0";
  Logger.log(criteria_3.toString.length);
  criteria_4 = "X";
  Logger.log(criteria_4.toString.length);
}
Prizoff
  • 4,486
  • 4
  • 41
  • 69
Newbie
  • 247
  • 3
  • 11

2 Answers2

1

criteria_1 = "";
console.log(criteria_1.toString() == ''); // output: true

const test = x => console.log(x.toString()==='');

test("");  // true
test(0);   // false
test("0"); // false
test("X"); // false

It's turned out that you don't even need toString() it could be just x===''

Yuri Khristich
  • 13,448
  • 2
  • 8
  • 23
1

To check for an empty string, a simple approach would be to use === operator

if (criteria_1 === "") {
    //...
}