Помогите пожалуйста понять что детально происходит при таком вызове:
String.prototype.camelCase=function(){
return [typeof this, this];
}
console.log("camel case word".camelCase());
Непонятно в первую очередь почему возвращается тип объект, а не строка.
Я понимаю, что вызов camelCase()
происходит в контексте "camel case word". То есть this
будет указывать на эту строку. НО именно на строку, а возвращается почему-то, объект.
Так как данная функция не в strict моде, this
внутри нее является объектом класса String, а не литералом строки. Поэтому тип соответствующий.
Если добавить директиву "use strict"
, то будет ожидаемый тобой результат
String.prototype.strictCamelCase = function() {
"use strict";
return [typeof this, this];
}
console.log("camel case word".strictCamelCase());
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здравствуйте, я добавил на сайт технологию Web Kit Speech Recognition API, эта технология способна распознавать голосМой сайт находится на локальном сервере,...