Contact
Line : comsiam
Contact
Line : comsiam

Google Gemini สามารถช่วยเขียน JavaScript ได้ตั้งแต่ Code พื้นฐานสำหรับมือใหม่ การจัดการ DOM, Event, Array, Object, Form และ Fetch API ไปจนถึงการช่วยวิเคราะห์ Async/Await, Promise, Module และโครงสร้าง Web Application ที่ซับซ้อนขึ้น
วิธีใช้ Gemini เขียน JavaScript ให้ได้ผลดีไม่ควรเริ่มด้วยคำสั่งกว้าง ๆ ว่า “เขียน JavaScript ให้หน่อย” แต่ควรบอก สิ่งที่ต้องการให้โปรแกรมทำ Environment ที่ใช้ Input/Output และข้อจำกัดของ Code จากนั้นสร้างและทดสอบทีละ Feature เพื่อให้สามารถตรวจสอบ Error ได้ง่าย
ได้ Gemini สามารถช่วยงาน JavaScript ได้หลายประเภท เช่น
Gemini Apps ยังมี Canvas ซึ่ง Google ระบุว่าสามารถใช้สร้างและแก้ Code หรือ App และเปิด Code View เพื่อแก้ Code ได้โดยตรงในสภาพแวดล้อมที่รองรับ
JavaScript ใช้ได้หลาย Environment
ดังนั้นก่อนให้ Gemini เขียน Code ควรบอกก่อนว่าใช้กับอะไร
ตัวอย่าง
ใช้กับหน้าเว็บไซต์
เช่น
ใช้ JavaScript ฝั่ง Server หรือ Script
เช่น
เช่น
หากไม่บอก Environment Gemini อาจเลือกวิธีที่ไม่ตรงกับ Project
ตัวอย่าง Prompt ที่ดี
“เขียน Vanilla JavaScript สำหรับ Browser เพื่อให้ปุ่มกดแล้วเปิด/ปิด Menu โดยไม่ใช้ Library หรือ Framework”
ชัดกว่าคำสั่ง
“เขียน JavaScript เปิด Menu”
สามารถใช้ Template นี้ได้
“ช่วยเขียน JavaScript สำหรับงานต่อไปนี้:
เป้าหมาย:
[อธิบายสิ่งที่ต้องการ]
Environment:
Browser / Node.js / Framework
Input:
[ข้อมูลที่รับ]
Expected Output:
[ผลลัพธ์ที่ต้องการ]
ข้อกำหนด:
หลังสร้าง Code ให้ตรวจ Edge Case ก่อนสรุป”
Prompt นี้ใช้ได้กับงาน JavaScript จำนวนมาก
หากเพิ่งเริ่มเรียน ไม่ควรให้ Gemini สร้าง Application ใหญ่ทันที
ควรเรียนตามลำดับ เช่น
Prompt
“สอน JavaScript สำหรับมือใหม่โดยเริ่มจาก Variable และ Data Type ใช้ตัวอย่างสั้น ๆ และให้แบบฝึกหัดหลังจบแต่ละหัวข้อ”
วิธีนี้เหมาะกว่าการ Copy Code สำเร็จรูปโดยไม่เข้าใจ Syntax
JavaScript ปัจจุบันมักใช้
const
let
มากกว่า var สำหรับ Code ใหม่ทั่วไป
ตัวอย่าง
const siteName = "My Website";
let visitors = 100;
const isOnline = true;
สามารถถาม Gemini
“อธิบายความแตกต่างระหว่าง const, let และ var พร้อมบอกว่า Code ใหม่ควรเลือกใช้แต่ละแบบเมื่อไร”
หลักง่าย ๆ คือ
const เมื่อ Reference ไม่ต้อง Assign ใหม่let เมื่อค่าต้องถูก Assign ใหม่var เพราะยังพบใน Code เก่า แต่ควรเข้าใจเรื่อง Scope ก่อนเลือกใช้ตัวอย่าง Function
function calculateTotal(price, quantity) {
return price * quantity;
}
const total = calculateTotal(250, 3);
console.log(total);
สามารถสั่ง
“สร้าง Function JavaScript สำหรับคำนวณราคารวมจากราคาและจำนวน พร้อมตรวจว่า Input เป็นตัวเลขที่ถูกต้อง”
เมื่อ Requirement เพิ่มขึ้น ค่อยแก้ Function ทีละส่วน
เช่น
“เพิ่ม Discount เป็นเปอร์เซ็นต์ แต่รักษา Function เดิมให้อ่านง่าย”
JavaScript สมัยใหม่พบ Arrow Function บ่อยมาก
ตัวอย่าง
const add = (a, b) => {
return a + b;
};
แบบสั้น
const add = (a, b) => a + b;
Prompt
“อธิบาย Arrow Function นี้สำหรับมือใหม่ และเปรียบเทียบกับ Function Declaration โดยเน้น Syntax และความแตกต่างเรื่อง this ที่ควรรู้”
ไม่ควรเข้าใจว่า Arrow Function เป็นเพียง Function ที่เขียนสั้นกว่า เพราะพฤติกรรมของ this แตกต่างจาก Function ปกติในบริบทสำคัญ
JavaScript มี Method สำหรับ Array ที่ใช้บ่อย เช่น
map()filter()find()some()every()reduce()sort()ตัวอย่าง
const prices = [100, 250, 500, 750];
const expensivePrices = prices.filter((price) => price >= 500);
console.log(expensivePrices);
Prompt
“จาก Array สินค้านี้ ให้ใช้ filter() เลือกสินค้าที่ราคาเกิน 500 บาท และอธิบาย Callback Function ทีละส่วน”
เหมาะสำหรับเรียน Array Method จากงานจริง
ตัวอย่าง
const user = {
name: "Somchai",
age: 30,
active: true
};
เข้าถึงข้อมูล
console.log(user.name);
สามารถถาม
“สร้าง Object สำหรับสินค้าโดยมี id, name, price, stock และ category จากนั้นเขียน Function ตรวจว่าสินค้ายังมี Stock หรือไม่”
การใช้ตัวอย่างที่มีบริบทธุรกิจจริงช่วยให้เข้าใจ Object ได้ง่ายกว่าการใช้ข้อมูลสมมติที่ไม่มีความหมาย
DOM หรือ Document Object Model ทำให้ JavaScript สามารถอ่านและเปลี่ยน Element บนหน้าเว็บได้
HTML
<h2 id="message">ข้อความเดิม</h2>
<button id="changeButton">
เปลี่ยนข้อความ
</button>
JavaScript
const message = document.querySelector("#message");
const button = document.querySelector("#changeButton");
button.addEventListener("click", () => {
message.textContent = "ข้อความใหม่";
});
Prompt
“อธิบาย Code นี้ทีละขั้น ตั้งแต่ querySelector() จนถึง addEventListener() และบอกว่าเกิดอะไรขึ้นหลังผู้ใช้กด Button”
นี่เป็นพื้นฐานสำคัญของ JavaScript ฝั่ง Browser
Event ที่ใช้บ่อย เช่น
clicksubmitinputchangekeydownmouseoverตัวอย่าง
const button = document.querySelector("#button");
button.addEventListener("click", () => {
console.log("Button clicked");
});
สามารถสั่ง
“สร้าง Event Listener สำหรับ Form Submit โดยป้องกันการ Reload หน้าและตรวจข้อมูลก่อนประมวลผล”
Gemini ควรอธิบายด้วยว่าทำไมจึงใช้
event.preventDefault();
แทนการใส่ Code โดยไม่อธิบาย
ตัวอย่าง HTML
<form id="contactForm">
<input id="name" type="text">
<input id="email" type="email">
<button type="submit">ส่ง</button>
</form>
Prompt
“เขียน JavaScript Validation สำหรับ Form นี้ โดยตรวจ:
ควรใช้ JavaScript Validation เป็นส่วนเสริม ไม่ใช่ Security Validation เพียงจุดเดียว
ถ้ามี Backend ต้อง Validate ฝั่ง Server อีกครั้ง
HTML
<input id="password" type="password">
<button id="togglePassword" type="button">
แสดงรหัสผ่าน
</button>
JavaScript
const password = document.querySelector("#password");
const toggleButton = document.querySelector("#togglePassword");
toggleButton.addEventListener("click", () => {
const isHidden = password.type === "password";
password.type = isHidden ? "text" : "password";
toggleButton.textContent = isHidden
? "ซ่อนรหัสผ่าน"
: "แสดงรหัสผ่าน";
});
Prompt ที่เหมาะคือ
“เขียน JavaScript Show/Hide Password และตรวจ Accessibility ของ Button ด้วย”
นอกจาก Function ทำงานได้แล้วควรพิจารณาสถานะที่ผู้ใช้และ Assistive Technology เข้าใจได้ด้วย
Prompt
“เขียน Vanilla JavaScript สำหรับเปิดและปิด Mobile Navigation
Requirement:
aria-expandedวิธีนี้ดีกว่าสั่งเพียง
“สร้าง Hamburger Menu”
เพราะกำหนด Accessibility Behavior มาด้วย
Modal ต้องมีรายละเอียดมากกว่าการเปลี่ยน display
ควรคิดถึง
Prompt
“สร้าง Modal ด้วย HTML/CSS/JavaScript โดยเน้น Accessibility และอธิบาย Focus Management ที่จำเป็น”
หาก Gemini สร้าง Modal ที่ดูสวยแต่ Keyboard ใช้งานไม่ได้ ก็ยังไม่ถือว่าเสร็จสมบูรณ์
JavaScript สามารถเรียก HTTP API ด้วย fetch()
ตัวอย่าง
async function loadUsers() {
const response = await fetch("/api/users");
if (!response.ok) {
throw new Error(`HTTP error: ${response.status}`);
}
const users = await response.json();
return users;
}
Prompt
“เขียน JavaScript Fetch API สำหรับ GET /api/users โดยใช้ async/await ตรวจ response.ok และจัดการ Error อย่างเหมาะสม”
จุดสำคัญคือ fetch() ไม่ได้ Throw Error เพียงเพราะ Server ตอบ HTTP 404 หรือ 500 ทุกกรณีในลักษณะที่มือใหม่มักคาดไว้ จึงควรตรวจสถานะ Response ด้วย
ตัวอย่าง
async function getData() {
const response = await fetch("/api/data");
const data = await response.json();
return data;
}
สามารถสั่ง
“อธิบาย Async/Await Code นี้โดยเปรียบเทียบว่าโปรแกรมหยุดรออะไร และอะไรยังสามารถทำงานต่อได้”
ควรเรียน Concept มากกว่าจำ Syntax เพราะ Async Bug เป็นปัญหาที่พบได้บ่อยใน JavaScript
Prompt
“อธิบาย JavaScript Promise สำหรับคนที่เข้าใจ Function แล้วแต่ยังไม่เข้าใจ Async Programming โดยใช้ตัวอย่าง Request API”
ตัวอย่าง
fetch("/api/users")
.then((response) => response.json())
.then((data) => {
console.log(data);
})
.catch((error) => {
console.error(error);
});
จากนั้นถามต่อ
“แปลง Code นี้เป็น async/await และเปรียบเทียบข้อดีข้อเสียด้าน Readability”
ทำให้เข้าใจสองรูปแบบแทนที่จะ Copy วิธีใดวิธีหนึ่งอย่างเดียว
JavaScript ที่เรียก API หรือทำงาน Async ควรจัดการ Error ที่จำเป็น
ตัวอย่าง
async function loadData() {
try {
const response = await fetch("/api/data");
if (!response.ok) {
throw new Error(`Request failed: ${response.status}`);
}
return await response.json();
} catch (error) {
console.error("Unable to load data:", error);
throw error;
}
}
แต่อย่าใช้ try...catch ครอบทุก Function โดยไม่มีเหตุผล
ถาม Gemini
“Error นี้ควรถูก Handle ใน Function นี้หรือควรถูกส่งต่อให้ Caller จัดการ อธิบายก่อนสร้าง Code”
ช่วยให้ Error Handling เป็นส่วนหนึ่งของ Architecture
undefinedหนึ่งใน Error ที่พบมากคือ
Cannot read properties of undefined
ตัวอย่าง
const city = user.address.city;
ถ้า address ไม่มีค่า Code จะเกิด Error
อย่ารีบให้ Gemini เพิ่ม
user?.address?.city
ทันที
ควรถาม
“Trace ก่อนว่าทำไม user.address ถึงไม่มีค่า และ address เป็น Optional ตาม Requirement จริงหรือไม่”
หาก Optional จริง Optional Chaining อาจเหมาะ
แต่ถ้าตาม API Contract ต้องมี address การซ่อน Error อาจทำให้ Root Cause ไม่ถูกแก้
เวลาส่งปัญหาให้ Gemini ควรระบุ
ตัวอย่าง Prompt
“Button นี้ควรเปิด Menu แต่กดแล้วไม่มีอะไรเกิดขึ้น
HTML:
[Code]
JavaScript:
[Code]
Console:
[Error]
ตรวจตามลำดับ:
หา Root Cause ก่อนแก้ Code”
Prompt นี้ช่วยให้ Debug เป็นระบบ
Browser DevTools Console เป็นเครื่องมือสำคัญมาก
สามารถใช้ดู
ถ้า Gemini สร้าง Code แล้วไม่ทำงาน เปิด Console ก่อน
จากนั้นส่ง Error กลับไป
ตัวอย่าง
Uncaught TypeError: Cannot read properties of null
พร้อม Code ที่เกี่ยวข้อง
ดีกว่าบอกเพียง
“JavaScript ไม่ทำงาน”
ตัวอย่างที่ไม่เหมาะกับ Project ที่เริ่มใหญ่ขึ้น
<script>
// JavaScript จำนวนมาก
</script>
สามารถสั่ง
“ย้าย JavaScript จาก HTML นี้ไปไว้ใน app.js โดยรักษา Behavior เดิมทั้งหมด และบอกว่าต้องเพิ่ม <script> อย่างไร”
ตัวอย่าง
<script src="app.js" defer></script>
defer ช่วยให้ External Script ถูก Execute หลัง HTML ถูก Parse ตามลักษณะการโหลดของ Script แบบ Classic ที่รองรับ
เมื่อโปรเจกต์ใหญ่ขึ้น สามารถแยก Code
js/
├── app.js
├── api.js
├── validation.js
└── ui.js
ตัวอย่าง Export
export function calculateTotal(price, quantity) {
return price * quantity;
}
Import
import { calculateTotal } from "./utils.js";
ใน Browser ต้องโหลด Module ตามรูปแบบที่เหมาะสม เช่น
<script type="module" src="js/app.js"></script>
Prompt
“Refactor JavaScript ไฟล์นี้ให้แยกเป็น Module ตาม Responsibility โดยรักษา Behavior เดิม”
อย่าแยก Module มากเกินจำเป็นใน Project เล็ก
ก่อน Refactor ให้ Code ทำงานก่อน
จากนั้นถาม
“Review JavaScript นี้และหา:
ยังไม่ต้องแก้ ให้จัดอันดับปัญหาก่อน”
แล้วเลือกแก้ทีละข้อ
วิธีนี้ลดความเสี่ยงจากการ Rewrite ทั้งระบบ
ก่อนเขียน Test Code สามารถเริ่มจาก Test Case
ตัวอย่าง Function
function divide(a, b) {
return a / b;
}
ถาม
“สร้าง Test Case สำหรับ Function นี้ โดยครอบคลุม Normal Case, Decimal, Negative Number, Zero และ Invalid Input”
จากนั้นค่อยเลือก Test Framework ที่ Project ใช้อยู่
หาก Project มี Framework อยู่แล้ว ควรให้ Gemini ตรวจ Configuration เดิมก่อนสร้าง Test ใหม่
Frontend JavaScript ไม่ควรถือว่าเป็นพื้นที่ปลอดภัยสำหรับ Secret
ตัวอย่าง
const API_KEY = "REAL_SECRET_KEY";
JavaScript ที่ส่งไปยัง Browser สามารถถูกผู้ใช้ตรวจดูได้
หาก Key เป็น Secret จริง ควรเก็บไว้ใน Server-side Environment ที่เหมาะสม ไม่ใช่ซ่อนด้วยการเปลี่ยนชื่อตัวแปรหรือ Minify Code
หากนำ Input ไปแทรก HTML โดยตรงอย่างไม่เหมาะสม อาจเพิ่มความเสี่ยงด้าน XSS
ตัวอย่างที่ควรระมัดระวัง
element.innerHTML = userInput;
เมื่อไม่ได้ต้องการ HTML จริง การใช้
element.textContent = userInput;
อาจเหมาะสมกว่าในหลายกรณี
Security ต้องพิจารณาตาม Context ของ Application จริง
eval() เพียงเพราะ Code สั้นหาก Gemini เสนอ eval() ให้ตรวจเหตุผลอย่างรอบคอบ
eval() สามารถ Execute String เป็น JavaScript และอาจสร้างปัญหา Security และ Maintainability หากใช้กับข้อมูลที่ไม่ควรเชื่อถือ
ถาม Gemini
“Solution นี้ทำได้โดยไม่ใช้ eval() หรือไม่”
ในงานทั่วไปมักมีวิธีที่ชัดเจนและปลอดภัยกว่า
Responsive Layout ส่วนใหญ่ควรใช้ CSS
ไม่ควรเขียน JavaScript ตรวจ Width ทุกอย่างโดยไม่จำเป็น
ตัวอย่างที่ควรให้ CSS จัดการ
JavaScript เหมาะเมื่อ Behavior ต้องเปลี่ยนจริง เช่น
Prompt
“ตรวจ Feature นี้ก่อนว่าควรแก้ด้วย CSS Media Query หรือ JavaScript และเลือกวิธีที่ง่ายที่สุด”
ช่วยป้องกันการใช้ JavaScript เกินความจำเป็น
ใช้ Workflow
เช่น Search Box
รับ Keyword และกรองรายการ
ทำ Logic ก่อน
ใช้ข้อมูลตัวอย่าง
ต่อกับ Input และ Result
จัดการกรณีที่จำเป็น
ตรวจ Readability
ตรวจผลจริง
การแยก Business Logic ออกจาก DOM ช่วยให้ Code ทดสอบและดูแลง่ายขึ้น
Gemini Canvas สามารถใช้สร้างและแก้ Code หรือ App ได้ในสภาพแวดล้อมที่รองรับ
สามารถเริ่มด้วย Prompt เช่น
“สร้าง To-do App ด้วย HTML, CSS และ Vanilla JavaScript
Requirement:
จากนั้นแก้ทีละ Feature
เช่น
“เพิ่ม Validation ห้ามสร้างรายการว่าง”
“แก้ Filter โดยไม่ Rewrite Component อื่น”
“ตรวจ Console Error”
Google ระบุว่าสามารถเปิด Code View ใน Canvas เพื่อแก้ Code โดยตรง และสามารถใช้ Console สำหรับตรวจ Error และ Log ของตัวอย่าง App ได้
นอกจากให้ Gemini ช่วยเขียน JavaScript แล้ว นักพัฒนายังสามารถเรียก Gemini API จาก JavaScript ได้ด้วย
Google ปัจจุบันมี JavaScript SDK อย่างเป็นทางการชื่อ
@google/genai
ติดตั้งผ่าน npm ได้ด้วย
npm install @google/genai
อย่างไรก็ตาม การเรียก Gemini API เป็นหัวข้อที่มีรายละเอียดเรื่อง
จึงควรแยกออกจากการเรียน JavaScript ทั่วไป
ในชุดบทความนี้จะมีหัวข้อเฉพาะสำหรับการใช้ Gemini API กับ JavaScript ต่อไป
ถ้ากำลังพัฒนา Application ด้วย Gemini API อย่าใส่ Secret API Key ลงใน JavaScript ที่ Browser ดาวน์โหลดได้
ตัวอย่างที่ไม่ควรใช้กับ Secret จริง
const apiKey = "REAL_API_KEY";
ควรออกแบบให้ Secret ถูกจัดการใน Environment ที่เหมาะสม และตรวจแนวทาง Security ของ API ที่กำลังใช้งาน
รายละเอียดนี้สำคัญมากเมื่อเปลี่ยนจาก Prototype ไปเป็น Production Application
ไม่ควรสั่ง
“Comment ทุกบรรทัด”
เพราะจะทำให้ Code รก
ควรสั่ง
“เพิ่ม Comment เฉพาะ Logic ที่ไม่ชัด และให้ Comment อธิบายเหตุผลมากกว่าการแปล Syntax”
ตัวอย่างไม่จำเป็น
// Increase index by one
index++;
ตัวอย่างที่มีประโยชน์กว่า
// Retry once because the upstream request can fail transiently.
Comment ที่ดีควรเพิ่ม Context ที่ Code อย่างเดียวบอกไม่ได้
ถ้ามี Code ที่ไม่เข้าใจ ใช้ Prompt
“อ่าน JavaScript นี้ก่อน แล้วอธิบายตามลำดับ:
อธิบายภาษาไทยสำหรับคนที่มีพื้นฐาน JavaScript ระดับต้น”
วิธีนี้ดีกว่าให้อธิบายทุกบรรทัดแบบไม่มีภาพรวม
Gemini Apps รองรับ Import Code Folder ในสภาพแวดล้อมที่รองรับ
สามารถนำ Project เข้ามาแล้วถาม
“ตรวจ Project นี้และ Trace JavaScript ตั้งแต่ผู้ใช้กด Submit จน API Request ถูกส่ง”
หรือ
“ค้นหาไฟล์ทั้งหมดที่เกี่ยวข้องกับ Shopping Cart”
เหมาะกับ Codebase ที่มี Module จำนวนมาก
หากโปรเจกต์อยู่บน GitHub ก็สามารถใช้ GitHub Repository เป็น Context ตามฟีเจอร์ Import Code ของ Gemini ได้
ไม่ควรถือว่าถูกต้อง 100%
Gemini อาจสร้าง Code ที่มี
ดังนั้นทุกครั้งควร
Browser กับ Node.js ไม่เหมือนกัน
AI ต้องเดา Feature
Debug ยาก
ยังไม่ได้ Test
โดยไม่หา Root Cause
ทำให้ Debug ยาก
innerHTML โดยไม่คิดเรื่องข้อมูลอาจสร้างความเสี่ยงเมื่อข้อมูลไม่ควรเชื่อถือ
ผู้ใช้สามารถตรวจ Code ได้
Project ซับซ้อนขึ้น
เสียข้อมูล Debug ที่สำคัญที่สุดส่วนหนึ่ง
แนวทางที่แนะนำคือ
Browser, Node.js หรือ Framework
บอก Feature ชัดเจน
รู้ว่า Code รับและคืนอะไร
เริ่มจาก Logic เล็กที่สุด
ตรวจ Normal และ Edge Case
เพิ่ม Integration หลัง Logic ผ่าน
แก้ Error ตามหลักฐาน
ลด Duplication
ตรวจ Input และ Secret
ทดสอบ Environment จริง
สำหรับงานพัฒนา Web ของ comsiam วิธีนี้ช่วยให้ JavaScript ที่ AI สร้างยังอยู่ภายใต้การควบคุมของ Developer ไม่กลายเป็น Code จำนวนมากที่ไม่มีใครรู้ว่าแต่ละส่วนทำอะไร
“เขียน JavaScript Function สำหรับ [งาน] โดยระบุ Input, Output และ Edge Case”
“อธิบาย JavaScript นี้ตาม Data Flow โดยไม่อธิบาย Syntax ที่ไม่จำเป็น”
“เขียน Vanilla JavaScript สำหรับเปลี่ยน DOM เมื่อผู้ใช้กด Button”
“สร้าง Event Listener และอธิบาย Event Object ที่ใช้”
“สร้าง Form Validation โดยแสดง Error ใกล้ Field และไม่ใช้ alert()”
“เรียก API ด้วย async/await ตรวจ HTTP Status และจัดการ Error”
“วิเคราะห์ Console Error และหา Root Cause ก่อนสร้าง Patch”
“ลด Global State และ Duplicate Logic โดยรักษา Behavior เดิม”
“Review JavaScript นี้ด้าน XSS, Secret Handling และ Input Handling”
“ตรวจ Code นี้ด้าน Readability, Error Handling, Async Behavior และ Edge Case ก่อนใช้งานจริง”
ได้ Gemini สามารถช่วยสร้าง อธิบาย Debug และปรับปรุง JavaScript ได้ ตั้งแต่ Code พื้นฐานไปจนถึง Application ที่มีหลาย Module
ได้ เพียงระบุใน Prompt ว่าใช้ Vanilla JavaScript และห้ามใช้ Framework หรือ Library ภายนอก
ได้ สามารถช่วยสร้าง Code สำหรับ HTTP Request รวมถึง async/await, Response Handling และ Error Handling ได้ แต่ต้องตรวจ API Contract จริงก่อนใช้งาน
ได้ ควรส่ง Console Error, Code, Expected Behavior และ Actual Behavior เพื่อให้ Gemini วิเคราะห์ Root Cause ก่อนสร้าง Patch
ได้ Gemini Canvas สามารถใช้สร้างและแก้ Code หรือ App ในสภาพแวดล้อมที่รองรับ รวมถึงเปิด Code และ Console เพื่อช่วยตรวจ Error และ Log
ไม่ควรนำไปใช้ทันทีโดยไม่ตรวจ ต้อง Run และ Test ใน Browser หรือ Runtime จริง รวมถึงตรวจ Error, Edge Case และ Security ก่อนใช้งาน Production
วิธีใช้ Gemini เขียน JavaScript ให้ได้ผลดีที่สุดคือเริ่มจาก Environment → Requirement → Input/Output → Function → Test → DOM/API → Debug → Refactor → Security → Browser Test
หากเป็นมือใหม่ควรให้ Gemini อธิบาย Code และ Concept ไปพร้อมกัน โดยเฉพาะ Function, Array, Object, DOM, Event, Promise และ Async/Await แทนการ Copy Code สำเร็จรูปอย่างเดียว
หากเกิด Error ควรเปิด Browser Console แล้วนำ Error Message พร้อม Code กลับมาให้ Gemini วิเคราะห์ Root Cause ก่อนแก้ ไม่ควรซ่อนปัญหาด้วย Optional Chaining, Default Value หรือ try/catch โดยไม่เข้าใจต้นเหตุ
สำหรับโปรเจกต์ใหญ่สามารถใช้ Code Folder หรือ GitHub Repository เป็น Context ได้ ส่วน Canvas สามารถช่วยสร้าง แก้ และตรวจ Code ในรูปแบบ Interactive ได้
แนวทางของ comsiam คือใช้ Gemini เป็น Pair Programmer ที่ช่วยสร้าง Draft และอธิบาย JavaScript ส่วน Developer ยังคงต้อง Run, Review และ Test Code จริงก่อนนำไปใช้กับเว็บไซต์หรือระบบ Production