私はこの疑問を持っています。このコードは、単語の最初の文字を大文字に変換することになっています
function ucFirst(str) {
var newStr = str.charAt(0).toUpperCase();
for (var i = 1; i < str.length; i++) {
newStr += str.charAt(i);
}
return newStr
}
alert(ucFirst("john"));
これにより、コンソールに undefined とともに「John」が出力されます。
今、配列値を使用してまったく同じことを試しました
function ucFirst(str) {
var newStr = str.str[0].toUpperCase();
for (var i = 1; i < str.length; i++) {
newStr += str.str[i];
}
return newStr;
}
alert(ucFirst("john"));
コンソールにこのエラーが表示されます"Cannot read property '0' of undefined"
なぜそうなのですか?