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

var stringOrArray = someFunc();

if (argumentIsString(stringOrArray)) {
  // 文字列が渡された時の処理

} else if (argumentIsArray(stringOrArray)) {
  // 配列が渡された時の処理

}

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

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