見出しについてはわかりませんが、オブジェクトのリテラル値に問題があります。ファーストネーム、ラストネーム、国籍、生まれた「person」という名前のオブジェクトがあります。これを初期化すると、オブジェクトにいくつかの値が取り込まれ、「born」値は「YYYY-MM-DD」の形式になりますが、通年の「YYYY」を提示する必要があります。
let person = {
firstName: '',
lastName: '',
nationality: '',
born: '',
print3: function() {
return 'My name is ' + this.firstName + ' ' + this.lastName + ' from ' + this.nationality + '.' + ' I was born ' + this.born + '.';
},
init: function(firstName, lastName, nationality, born) {
this.firstName = firstName;
this.lastName = lastName;
this.nationality = nationality;
this.born = born;
}
};
初期化:
person2.init('Henri', 'Becquerel', 'France', '1852-12-15')
期待される結果は次のとおりです。
"My name is Henri Becquerel from France. I was born 1852."
コードのどこかで.getFullYear関数を使用する必要があることはわかっていますが、考えられるすべての場所を試しましたが、アイデアがありません。
よろしく
new Date()
あなたが持っているようにISO8601形式の文字列を解析します。したがって、init()
関数は文字列の代わりに日付オブジェクトを保存できます。次に、あなたが呼び出すことができますgetFullYear()
上this.born
:
let person = {
firstName: '',
lastName: '',
nationality: '',
born: '',
print3: function() {
return 'My name is ' + this.firstName + ' ' + this.lastName + ' from ' + this.nationality + '.' + ' I was born ' + this.born.getFullYear() + '.';
},
init: function(firstName, lastName, nationality, born) {
this.firstName = firstName;
this.lastName = lastName;
this.nationality = nationality;
this.born = new Date(born); // create a Date object
}
};
person.init('Henri', 'Becquerel', 'France', '1852-12-15')
console.log(person.print3())
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加