StringかArrayかを判定したい


JavaScriptで変数に入っている値が文字列か文字列の配列かによって処理を分けたいです。  
厳密に配列の中身が文字列であるかどうかまではチェックしなくて良いです。

[code]

    var stringOrArray = someFunc();
    
    if (argumentIsString(stringOrArray)) {
      // 文字列が渡された時の処理
    
    } else if (argumentIsArray(stringOrArray)) {
      // 配列が渡された時の処理
    
    }
    
[/code]

上記`argumentIsString`, `argumentIsArray`にあたる処理はどのようになりますか？  
どちらか片方がわかればもう片方は `else` でも良いですが、できれば今後の変更を見据えて文字列・配列それぞれの判定をしたいです。

ちなみにIE8以上の対応が必要です。




こちらが参考になると思います。  
[JavaScript Garden](http://bonsaiden.github.io/JavaScript-
Garden/#types.typeof)  
[日本語訳](http://bonsaiden.github.io/JavaScript-Garden/ja/#types.typeof)

[code]

    function is(type, obj) {
        var clas = Object.prototype.toString.call(obj).slice(8, -1);
        return obj !== undefined && obj !== null && clas === type;
    }
    
    is('String', 'test'); // true
    is('String', new String('test')); // true
    
[/code]

