Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Adakah concat sintaks es6?
concat bukan sintaks es6 Ia tersedia dalam es5 Kelebihannya ialah ia mempunyai keserasian yang tinggi dan tidak memerlukan terjemahan. Kaedah concat digunakan untuk menggabungkan berbilang tatasusunan, menggunakan sintaks "objek tatasusunan asal.concat(nilai baharu)"; kaedah ini boleh menerima parameter tatasusunan dan jenis nilai lain sebagai parameter. Kaedah concat akan menambah ahli tatasusunan baharu ke penghujung ahli tatasusunan asal, dan kemudian mengembalikan tatasusunan baharu, meninggalkan tatasusunan asal tidak berubah.
Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.
concat bukan sintaks es6, ia tersedia dalam es5.
Kaedah tatasusunan ES5 concat()
concat
kaedah digunakan untuk menggabungkan berbilang tatasusunan . Ia menambahkan ahli tatasusunan baharu ke penghujung ahli tatasusunan asal, dan kemudian mengembalikan tatasusunan baharu, meninggalkan tatasusunan asal tidak berubah.
concat()
semasa, tetapi mengembalikan Array
baharu. Array
['hello'].concat(['world']) // ["hello", "world"] ['hello'].concat(['world'], ['!']) // ["hello", "world", "!"] [].concat({a: 1}, {b: 2}) // [{ a: 1 }, { b: 2 }] [2].concat({a: 1}) // [2, {a: 1}]Selain tatasusunan sebagai parameter,
juga menerima jenis nilai lain sebagai parameter, yang ditambahkan pada penghujung tatasusunan sasaran. concat
[1, 2, 3].concat(4, 5, 6) // [1, 2, 3, 4, 5, 6]
concat()
, dan secara automatik memisahkan Array
dan menambah kesemuanya pada Array
baharu. Iaitu, jika parameter untuk operasi Array
ialah tatasusunan, maka elemen dalam tatasusunan ditambah, bukan tatasusunan. concat()
var arr = ['A', 'B', 'C']; arr.concat(1, 2, [3, 4]); // ['A', 'B', 'C', 1, 2, 3, 4]Nota:
Parameter tatasusunan hanya akan diratakan sekali, bukan dua kaliconcat
arr.concat([1, [2, 3]]); // [1, 2, 3, 1, [2, 3]]
concat
salinan cetek tatasusunan semasa. Apa yang dipanggil "salinan cetek" bermaksud tatasusunan baharu menyalin rujukan objek .
var obj = { a: 1 }; var oldArray = [obj]; var newArray = oldArray.concat(); obj.a = 2; newArray[0].a // 2Dalam kod di atas, tatasusunan asal mengandungi objek, dan tatasusunan baharu yang dijana oleh kaedah
mengandungi rujukan kepada objek ini. Oleh itu, selepas concat
menukar objek asal, tatasusunan baharu juga akan berubah .
Pengetahuan lanjutan: cara lain untuk menggabungkan tatasusunan
Gunakan operator hamparan ES6cantum…
const name1 = ['A','B','C']; const name2 = ['D','E','F']; const name = [...name1,...name2] console.log(name);
Perbandingan: operator pengembangan ES6... dan ES5-concat
concat tersedia dalam es5, Kelebihannya ialah ia mempunyai keserasian tinggi dan tidak perlu diterjemahkan ialah sintaks baharu dalam es6, yang memudahkan kaedah penulisan Kod itu kelihatan lebih ringkas dan intuitif, tetapi sebenarnya ia hanya dikapsulkan, dan kaedah asal masih digunakan di bahagian bawah , berikut adalah hasil terjemahan babel ...
arr1 = [...arr1, ...arr2]; ↓ 相当于 function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } arr1 = [].concat(_toConsumableArray(arr1), arr2);[Cadangan berkaitan:
tutorial video javascript, video pengaturcaraan]
Atas ialah kandungan terperinci Adakah concat sintaks es6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!