[解決済み] JavaScript以外の言語では、ブレースの開始位置(同じ行と次の行)に違いがあるのでしょうか?
2023-03-13 07:57:58
質問
今日、オライリーのJavaScriptパターンを適当に読んでいたら、ひとつ面白いことを見つけました(参考までに27ページ)。
Javascriptでは、場合によっては、braceの開始位置が異なると差異が生じます。
function test_function1() {
return
{
name: 'rajat'
};
}
var obj = test_function1();
alert(obj); //Shows "undefined"
一方
function test_function2() {
return {
name: 'rajat'
};
}
var obj = test_function2();
alert(obj); //Shows object
他の言語でもこのような動作があるのでしょうか?もしそうなら、私は確実に習慣を変えなければならないでしょう...:)
私は主に、PHP、C、C++、Java、rubyについて心配しています。
どのように解決するのですか?
どのような は、文を区切るのにセミコロンに頼らず(代わりに改行で)、潜在的にこれを可能にする言語です。考慮すべきは Python :
>>> def foo():
... return
... { 1: 2 }
...
>>> def bar():
... return { 1: 2 }
...
>>> foo()
>>> bar()
{1: 2}
で同様のケースを構築できるかもしれません。 ビジュアルベーシック でも、VBは値が置かれる場所にかなり制限があるので、私の頭の上からでは、どのようにするのかわかりません。しかし、静的アナライザーが到達不可能なコードについて文句を言わない限り、以下のように動作するはずです。
Try
Throw New Exception()
Catch ex As Exception
Throw ex.GetBaseException()
End Try
' versus
Try
Throw New Exception()
Catch ex As Exception
Throw
ex.GetBaseException()
End Try
紹介された言語から ルビー は同じ性質を持っています。PHP、C、C++、Javaは、改行を空白として破棄し、文を区切るためにセミコロンを必要とするので、単純にそうではありません。
以下は、Pythonの例からRubyで同等のコードです。
>> def foo
>> return { 1 => 2 }
>> end
=> nil
>> def bar
>> return
>> { 1 => 2 }
>> end
=> nil
>> foo
=> {1=>2}
>> bar
=> nil
関連
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み] JavaScriptの配列宣言で「Array()」と「[]」はどう違うのですか?
-
[解決済み] JavaScriptのNullとundefinedのチェックと==と===の違いについて
-
[解決済み] JavaScriptとECMAScriptの違いは何ですか?
-
[解決済み] JavaScriptのcurrentTargetプロパティとtargetプロパティの正確な違いは何ですか?
-
[解決済み] typeofとinstanceofの違いは何ですか、また、どのような場合にどちらを使うべきですか?
-
[解決済み] JavaScriptのchildrenとchildNodeの違いは何ですか?
-
[解決済み】JavaScriptのwindow, screen, documentの違いは何ですか?
-
[解決済み】await Promise.all()と複数awaitの違いって何?
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法
-
[解決済み] これは純関数ですか?