Easiest way to check if string is null or empty

前端 未结 11 1171
南笙
南笙 2021-01-30 12:30

I\'ve got this code that checks for the empty or null string. It\'s working in testing.

eitherStringEmpty= (email, password) ->
  emailEmpty = not email? or          


        
相关标签:
11条回答
  • 2021-01-30 12:58

    It isn't entirely equivalent, but email?.length will only be truthy if email is non-null and has a non-zero .length property. If you not this value the result should behave as you want for both strings and arrays.

    If email is null or doesn't have a .length, then email?.length will evaluate to null, which is falsey. If it does have a .length then this value will evaluate to its length, which will be falsey if it's empty.

    Your function could be implemented as:

    eitherStringEmpty = (email, password) ->
      not (email?.length and password?.length)
    
    0 讨论(0)
  • 2021-01-30 13:00

    Instead of the accepted answer passwordNotEmpty = !!password you can use

    passwordNotEmpty = if password then true else false
    

    It gives the same result (the difference only in syntax).

    In the first column is a value, in the second is the result of if value:

    0 - false
    5 - true
    'string' - true
    '' - false
    [1, 2, 3] - true
    [] - true
    true - true
    false - false
    null - false
    undefined - false
    
    0 讨论(0)
  • 2021-01-30 13:01

    Here is a jsfiddle demonstrating a very easy way of doing this.

    Basicly you simply do this is javascript:

    var email="oranste";
    var password="i";
    
    if(!(email && password)){
        alert("One or both not set");        
    }
    else{
        alert("Both set");   
    }
    

    In coffescript:

    email = "oranste"
    password = "i"
    unless email and password
      alert "One or both not set"
    else
      alert "Both set"
    

    Hope this helps someone :)

    0 讨论(0)
  • 2021-01-30 13:07

    If you need to check that the content is a string, not null and not an array, use a simple typeof comparison:

     if typeof email isnt "string"
    
    0 讨论(0)
  • 2021-01-30 13:07

    I'm pretty sure @thejh 's answer was good enough to check empty string BUT, I think we frequently need to check that 'Does it exist?' and then we need to check 'Is it empty? include string, array and object'

    This is the shorten way for CoffeeScript to do this.

    tmp? and !!tmp and !!Object.keys(tmp).length
    

    If we keep this question order, that would be checked by this order 1. does it exist? 2. not empty string? 3. not empty object?

    so there wasn't any problems for all variable even in the case of not existed.

    0 讨论(0)
提交回复
热议问题