[解決済み] CoffeeScriptでの関数宣言
2023-08-04 04:44:16
質問
CoffeeScriptで関数を定義する場合、以下のように記述します。
a = (c) -> c=1
のみを取得することができます。 関数式 :
var a;
a = function(c) {
return c = 1;
};
しかし、個人的にはよく 関数宣言 を使うことが多いです。
function a(c) {
return c = 1;
}
私は最初の形式を使っているが、CoffeeScriptで関数宣言を生成する方法があるのだろうか。もし、そのような方法がないのであれば、なぜCoffeeScriptがこのようなことを避けるのか知りたいです。関数がスコープの一番上で宣言されている限り、JSLintが宣言のためにエラーを叫ぶとは思えません。
どのように解決するのですか?
CoffeeScriptは関数宣言(別名:"名前付き関数")を1箇所だけ使用します。
class
の定義で使用します。例えば
class Foo
は、以下のようにコンパイルされます。
var Foo;
Foo = (function() {
function Foo() {}
return Foo;
})();
によると、CoffeeScriptが関数宣言を他の場所で使わないのは、そのためだそうです。 FAQ :
<ブロッククオートこれは Microsoft のせいです。本来は、適切な名前を取得できるすべての関数に名前が付けられていましたが、IE バージョン 8 以下では、名前の付いた関数が宣言と式の両方として扱われるというスコープの問題があります。参照 この を参照してください。
要するに、関数宣言を不用意に使うとIE(9以前)と他のJS環境との間で矛盾が生じる可能性があるため、CoffeeScriptは関数宣言を避けているのです。
関連
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み] 関数が実行されるまでの時間を測定する方法
-
[解決済み] JSLintが突然レポートする。"use strict" の関数形式を使用する
-
[解決済み] 非同期関数+await+setTimeoutの組合せ
-
[解決済み] Object.create()とnew SomeFunction()の違いを理解する
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
-
[解決済み】CoffeeScriptの3項演算について
-
[解決済み】CoffeeScriptでグローバル変数を定義する方法は?
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JSのDateからDay名
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?