Здравствуйте !
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
? Объясните , что тут происходит?