状況を説明しましょう:
I can’t pass this lesson. I’ve tried many times by changing codes but it doesn’t work.
Just I want to go next lesson. Would you please the right code.
Error message: Your setAttribute method should have song?.title ? \ Play ${song.title} : "Play" as the second argument.
現状のコード
const setPlayButtonAccessibleText = () => {
const song = userData?.currentSong || userData?.songs[0];
playButton.setAttribute('aria-label', song?.title ? `Play ${song.title}` : "Play");
};
ブラウザ情報:
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
チャレンジの情報:
基礎的な文字列・配列メソッドの学習: 音楽プレイヤーを作成する - Step 59
sidemt
2
このままでも JavaScript のコードとしては動作するのですが、下記の行でシングルクォート ' とダブルクォート " が混在しているために、回答をチェックしている自動テストが混乱しているようです。
playButton.setAttribute('aria-label', song?.title ? `Play ${song.title}` : "Play");
aria-label と Play を囲っている記号を、シングルクォートかダブルクォートのどちらかに統一して、もう一度実行してみてください。
※Play ${song.title} を囲っているバックティック ` は上記のままにしてください。
JavaScript ではシングルクォートでもダブルクォートでも同じ働きをしますが、慣習的に、どちらを使うか統一した方がよいとされています。
ありがとうございます。無事解決できました。シングルクォート、ダブルクォートどちらでも、これまで問題なく通過できてしまっており、また、それらが次のレッスンでは(ダブルクォートに)自動修正されておりましたため、自動修正機能に甘えてしまっておりました。混在させないよう心がけます。
sidemt
4
解決したとのことで、良かったです!
カリキュラムの開発時に想定されていなかったケースだと思われますので、このような場合のテストやヒントを改善できないか提案を上げさせていただきました。
まだベータ版ということもあり、このようなフィードバックはとても助かります。また上手くいかないことがあれば投稿いただければ幸いです。この先のレッスンも頑張ってください 