JavaScriptで同じ変数同士の論理演算を分岐に使うことについて


JS初心者です。  
サンプルコードを読んでいて、わからない部分が出てきて検索にも引っかからなかったため質問させてください。

[code]

    var content = (String型のオブジェクト);
    
    if(content && content !== ""){
        //処理
    }
    
[/code]

サンプルコードに上記のようなコードが出てきたのですが、if文の条件に使っている部分の意味がわかりません。  
ご教授お願いいたします。




contentの値が`null`や`undefined`の場合に、`false`と判定するためだと思います。

`content !== ""`のみの場合、contentの値が`null`や`undefined`だた、`true`と判定されます。  
そのため、`if`ブロック内に以下のように`.toUpperCase()`などのメソッドを使うとエラーが発生します。

[code]

    var content;     // undefinedのままにする。
    content = null;  // または, nullを設定する。
    
    if (content !== "") { // trueと判定される
      console.log(content.toUpperCase()); // ここでエラー
    }
    
[/code]

`content && content !==
""`とすれば、最初の`content`が`false`となるため、`null`や`undefined`を除外することができます。

