[解決済み] JavaScriptで配列を宣言する方法を教えてください。
2022-03-07 20:59:13
質問
JavaScriptを勉強しているところですが、配列を宣言する方法はいくつもあるようですね。
-
var myArray = new Array()
-
var myArray = new Array(3)
-
var myArray = ["apples", "bananas", "oranges"]
-
var myArray = [3]
その違いや、望ましい方法とは?
によると 本サイト は、次の2行が大きく異なっています。
var badArray = new Array(10); // creates an empty Array that's sized for 10 elements
var goodArray= [10]; // creates an Array with 10 as the first element
ご覧のように、この2つの行は全く異なることを行っています。もし 複数の項目を追加したい場合、badArray は、以下のようになります。 Javascript は十分に賢いので、正しく初期化されます。 は、配列の初期化を行う際に、配列の数を指定するのではありません。 を追加することができます。
著者が言おうとしていることは
Array(10)
は正確に10個の要素を持つ配列を作成し
[10]
は、0番目の要素が10である不定長の配列を作成するのですか?または、これは何を意味するのでしょうか?
解決方法は?
望ましい方法は、常に角括弧付きのリテラル構文を使用することです。
Array
's. さらに
Array
はキーワードではないので、現実的な状況ではないものの、誰かが簡単に上書きしてしまう可能性があります。
function Array() { return []; }
alert(Array(1, 2, 3)); // An empty alert box
しかし、より大きな問題は、一貫性の問題です。コードをリファクタリングする人が、この関数に出くわすかもしれません。
function fetchValue(n) {
var arr = new Array(1, 2, 3);
return arr[n];
}
結局のところ
fetchValue(0)
を返すので、プログラマは他の要素を削除し、コードを壊してしまいました。
undefined
:
var arr = new Array(1);
関連
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】JS ファイルが net::ERR_ABORTED 404 (Not Found) を取得する)
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない