การโคลนแบบมีโครงสร้างและ URLSearchParams
คัดลอกข้อมูลแบบลึกด้วย structuredClone (คง Dates/Maps/Sets ไว้) และแยกวิเคราะห์หรือสร้างสตริงคำค้นด้วย URLSearchParams
การโคลนแบบมีโครงสร้างและ URLSearchParams เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
เหตุใดจึงใช้เครื่องมือเหล่านี้
เป้าหมาย: คัดลอกและแปลงข้อมูล URL เป็นรูปแบบจัดเก็บอย่างปลอดภัย
- structuredClone คัดลอกข้อมูลแบบลึก
- รักษาออบเจ็กต์วันที่ แมป และเซตไว้
- พารามิเตอร์ค้นหา URL แยกวิเคราะห์และสร้างคำค้นหา
- รูปแบบที่เหมาะสำหรับผู้เริ่มต้น

คัดลอกแบบลึกโดยรักษาชนิดข้อมูล
structuredClone สร้างสำเนาแบบลึกและรักษาออบเจ็กต์วันที่ไว้ครบถ้วน
// Deep copy with structuredClone (Node 17+/modern browsers)
const original = { n: 1, list: [1, 2], when: new Date("2024-01-01") };
const copy = structuredClone(original);
copy.n = 2;
copy.list.push(3);
console.log("original.n:", original.n);
console.log("copy.n:", copy.n);
console.log("dates equal type?", copy.when instanceof Date);

JSON สูญเสียชนิดข้อมูล
JSON มีเฉพาะข้อมูล ออบเจ็กต์วันที่ แมป และเซตจะกลายเป็นค่าทั่วไปหรือสูญหายไป
// JSON round-trip loses special types (e.g., Date becomes string)
const obj = { when: new Date("2024-01-01"), ok: true };
const round = JSON.parse(JSON.stringify(obj));
console.log("after JSON:", typeof round.when, round.when);
console.log("is Date?", round.when instanceof Date);

แมปและเซตรอดจากการคัดลอก
แมป และ เซต จะถูกคัดลอกอย่างถูกต้องด้วย structuredClone
// structuredClone preserves Map and Set
const m1 = new Map([["a", 1]]);
const s1 = new Set([1, 2]);
const cloned = structuredClone({ m1, s1 });
console.log("map has a?", cloned.m1.has("a"));
console.log("set has 2?", cloned.s1.has(2));

แยกวิเคราะห์สตริงคำค้นหา
พารามิเตอร์ค้นหา URL อ่านสตริงคำค้นหา ใช้ get, getAll, has และวนซ้ำเมื่อจำเป็น
// Parse a query string with URLSearchParams
const qs = "q=shoes&color=red&color=blue&page=2";
const params = new URLSearchParams(qs);
console.log("q:", params.get("q"));
console.log("first color:", params.get("color"));
console.log("all colors:", params.getAll("color"));
console.log("page:", params.get("page"));

สร้างสตริงคำค้นหา
ใช้ set/append แล้วใช้ toString() เพื่อสร้างสตริงคำค้นหาที่ปลอดภัย
// Build a query string from key/value pairs
const build = new URLSearchParams();
build.set("q", "shoes");
build.append("color", "red");
build.append("color", "blue");
build.set("page", String(2));
console.log("query:", build.toString());
// Example full URL
const url = "https://example.com/search?" + build.toString();
console.log("url:", url);

แบบทดสอบ structuredClone เทียบกับ JSON
ตรวจสอบอย่างรวดเร็ว: การคัดลอกแบบลึกที่รักษาชนิดข้อมูล

ทบทวน
ทบทวน: ใช้ structuredClone สำหรับการคัดลอกแบบลึกที่รักษาชนิดข้อมูลอย่างออบเจ็กต์วันที่ แมป และเซต ใช้ พารามิเตอร์ค้นหา URL เพื่อแยกวิเคราะห์และสร้างสตริงคำค้นหาอย่างปลอดภัย

คำถามที่พบบ่อย
บทเรียน “การโคลนแบบมีโครงสร้างและ URLSearchParams” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การโคลนแบบมีโครงสร้างและ URLSearchParams” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การโคลนแบบมีโครงสร้างและ URLSearchParams”
คัดลอกข้อมูลแบบลึกด้วย structuredClone (คง Dates/Maps/Sets ไว้) และแยกวิเคราะห์หรือสร้างสตริงคำค้นด้วย URLSearchParams คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน
บทเรียน “การโคลนแบบมีโครงสร้างและ URLSearchParams” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม
ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน JSON.parse / JSON.stringify
- การโคลนแบบมีโครงสร้างและ URLSearchParams
- กลยุทธ์การแยกวิเคราะห์ JSON อย่างปลอดภัย