VicRock09
@VicRock09 (Vicky rock)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Java と JavaScript の複雑なシナリオのエラー

こんにちは。現在、Java と JavaScript の違いを調べていますが、そのニュアンスを理解する際にいくつかの課題に直面しています。 以下は、私が不確実な領域を示すコード スニペットです。

let x = "Hello";
console.log(`The value of x is: ${x}`);

私が支援を求めている具体的な問題は次のとおりです。

JavaScript で x を文字列変数として宣言しているにもかかわらず、その値を「Hello」から「World」に更新しようとすると、予期しない動作が発生しました。 新しい値を割り当てても x の値が変わらない理由を説明できますか?

JavaScript を試しているときに、console.log() を使用して x の値を出力しようとすると、予期しない結果が発生しました。 予想される出力「x の値は: Hello」が提供されているにもかかわらず、このメッセージを表示する根本的なメカニズムがわかりません。 JavaScript の console.log() の機能についての洞察を提供していただけますか?

特に構文と基本原則の点で、Java と JavaScript の違いがわかりません。 2 つの言語の違いを明確にし、それらの違いを示す例を示していただけますか?

JavaScript を調べてこの記事を読んでいる間、変数、データ型、関数などの概念を理解するのに苦労しました。 これらの概念は Java と JavaScript でどのように異なるのでしょうか?また、2 つの言語を切り替える開発者にとってはどのような影響があるのでしょうか?

これらの複雑さを解決し、Java と JavaScript の知識を広げる上で、あなたの経験と支援を大歓迎します。 助けてくれてありがとう。

0

4Answer

特に構文と基本原則の点で、Java と JavaScript の違いがわかりません。 2 つの言語の違いを明確にし、それらの違いを示す例を示していただけますか?

Fundamentally JavaScript, whose specification is named ECMAScript, has currently NO relation with Java. (At first they "aimed to complement Java and JavaScript", but JavaScript had not been implemented unificatedly between browsers, which caused license problems.) So one simple answer is - "Java and JavaScript is completely different." Do not think that you can transpile them easily. Each runs on very unlike environments!

JavaScript で x を文字列変数として宣言しているにもかかわらず、その値を「Hello」から「World」に更新しようとすると、予期しない動作が発生しました。 新しい値を割り当てても x の値が変わらない理由を説明できますか?

It can't happen. Don't you forget to reload the page?

0Like

現在、Java と JavaScript の違いを調べていますが

JavaScript の勉強をしているのだと思いますが (Java ではなくて)、そうだとすると「Java と JavaScript の違いを調べて」は意味のない時間と労力の無駄と言ってもいいと思います。

そうではなくて、趣味の問題とかで違いを調べたいということであっても、100% とは言いませんが(少しは自己満足的なものが得られるとか、調べても意味が無いことが分かるとかで)、ほとんど意味はなさそうです。

なので、Java の話は忘れて、JavaScript の console.log() についてレスします。

JavaScript で x を文字列変数として宣言しているにもかかわらず、その値を「Hello」から「World」に更新しようとすると、予期しない動作が発生しました。 新しい値を割り当てても x の値が変わらない理由を説明できますか?

それから自分が思い当たるのは、MDN のドキュメント console.log() の「オブジェクトのログ出力」のセクションに書いてある "多くのブラウザーでは値が変化したときに常に更新されるライブビューになります" ということです。

console.log()
https://developer.mozilla.org/ja/docs/Web/API/console/log_static

英語版の方が分かりやすいかも。

console: log() static method
https://developer.mozilla.org/en-US/docs/Web/API/console/log_static

以前の Qiita の質問でも以下の話がありました。

javascriptとブラウザのコンソールについて
https://qiita.com/yamakawacho/questions/1f3e22863cc613be45d3

もう一つ、JavaScript はブラウザ依存ということにも注意してください。あなたが使っているブラウザと私が使っているブラウザとでは実装が異なる(結果も異なる)かもしれません。

0Like

JavaScript で x を文字列変数として宣言しているにもかかわらず、その値を「Hello」から「World」に更新しようとすると、予期しない動作が発生しました。 新しい値を割り当てても x の値が変わらない理由を説明できますか?

どのような動作(結果)になったのでしょうか?
それを教えてもらわないと、分りません。

JavaScript を試しているときに、console.log() を使用して x の値を出力しようとすると、予期しない結果が発生しました。 予想される出力「x の値は: Hello」が提供されているにもかかわらず、このメッセージを表示する根本的なメカニズムがわかりません。 JavaScript の console.log() の機能についての洞察を提供していただけますか?

どのようなメッセージが表示されたのでしょうか?
それを教えてもらわないと、何も分かりません。

下記の環境では、普通に動きます。

0Like

JavaScript で x を文字列変数として宣言しているにもかかわらず、その値を「Hello」から「World」に更新しようとすると、予期しない動作が発生しました。 新しい値を割り当てても x の値が変わらない理由を説明できますか?

let変数を再宣言しようとしていませんか?

> let x = "Hello";
> console.log(`The value of x is: ${x}`);
The value of x is: Hello
> let x = "World";  // let変数は再宣言できないのでエラーになる
Uncaught SyntaxError: Identifier 'x' has already been declared
> x = "World";  // letを書かずに既存変数に再代入する
> console.log(`The value of x is: ${x}`);
The value of x is: World

JavaScript の console.log() の機能についての洞察を提供していただけますか?

consoleはコンソール出力を担当するオブジェクトです。
consoleのlogメソッドに値を渡すと、その値をメッセージ種別「ログ」でコンソールに出力してくれます。
log以外にinfo, warn, error, debug などのメソッドがあります。
Webブラウザのコンソールではどの種別のメッセージを表示するか選択できます。

image.png

0Like

Your answer might help someone💌