Здравствуйте !
function f(s){
// document.write(typeof(s)); // ! ! ! ( ( 1 ) ) ! ! !
var m
typeof(s) == String ? m = "String" : m = "No, this is not a string"; // ! ! ! ( ( 2 ) ) ! ! !
document.write(m);
};
f("This is string") // No, this is not a string
Почему в данном коде
! ! ! ( ( 1 ) ) ! ! !, при
document.write(typeof(s)); возвращается
string, но когда я пытаюсь выяснить к какому типу относится аргумент
! ! ! ( ( 2 ) ) ! ! !, то срабатывает условие - что данный аргумент не является строкой? Даже если воспользоваться определением оператора
typeof ( ) - возвращает строку, указывающую тип операнда то в условии
! ! ! ( ( 2 ) ) ! ! ! получается что
"string" == String, что по идее должно равняться
true? Объясните , что тут происходит?