Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでのSymbol.isConcatSpreadableの重要性は何ですか?


Symbol.isConcatSpreadable

このよく知られたシンボルは、 Array.prototype.concat()メソッドを使用するときにオブジェクトをその配列要素にフラット化する必要があるかどうかを構成するために使用されますfalseの場合 その後、アレイのフラット化は行われません。デフォルトでは、 Symbol.IsConcatSpreadable 。したがって、明示的に宣言されていない限り、平坦化 アレイの一部は避けられません。

記号なし

次の例では、シンボル Symbol.IsConcatSpreadable 明示的に述べられていませんでした。そのため、デフォルトでは、出力に示されているように配列がフラット化されていました。

<html>
<body>
<script>
   var arr1 = ['mango', 'apple', 'guava'];
   var arr2 = ['cashew', 'pista', 'bhadham'];
   var res1 = arr1.concat(arr2);
   console.log(res1);
</script>
</body>
</html>

出力

["mango", "apple", "guava", "cashew", "pista", "bhadham"]


記号付き

次の例では、シンボル Symbol.IsConcatSpreadable 明示的に記述されているため、平坦化 出力に示されているように、アレイの分割は行われませんでした。

<html>
<body>
<script>
   var arr1 = ['mango', 'apple', 'guava'];
   var arr2 = ['cashew', 'pista', 'bhadham'];
   arr2[Symbol.isConcatSpreadable] = false;
   var res2 = arr1.concat(arr2);
   console.log(res2);
</script>
</body>
</html>

出力

["mango", "apple", "guava", Array(3)]

  1. JavaScriptの「/g」フラグの重要性は何ですか?

    / g は、ユーザータスクを簡単にする正規表現の1つです。 / g 提供された単語をグローバルに検索します 。すべての出現箇所でいずれかの単語を別の単語に置き換える場合は、 / g 写真に登場します。一言で言えばそれについて話し合いましょう。 次の例では、提供されているすべての青を置き換える必要があります 赤の単語 通常のstr.replace()を適用しました タスクを達成するための方法。 グローバルな兆候がないため 、単語blueの最初の出現は変更されるだけで、残りの出現は一定のままです。 javascriptは大文字と小文字を区別することに注意してください。 例 <

  2. JavaScriptSymbol.isConcatSp読み取り可能なシンボル

    Symbol.isConcatSp読み取り可能なシンボルは、Array.prototype.concat()メソッドを使用するときに、ネストされた配列を個々の配列要素にフラット化するかどうかを指定するために使用されます。 以下は、Symbol.isConcatSp読み取り可能なシンボルのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" co