جستجو برای:
  • خانه
  • مهارت های کامپیوتر
    • شبکه
    • ابزار های مایکروسافت افیس
    • ویندوز
  • برنامه نویسی و طراحی سایت
    • کد نویسی سمت کاربر
    • کد نویسی سمت سرور
    • cms های آماده
  • برنامه نویسی
    • اندروید
    • #C
    • بازی سازی
    • جاوا
    • پایتون
  • سورس کد ها
    • پروژه آماده اندروید
    • پروژه اماده unity
    • پروژه آماده سی شارپ
    • پروژه آماده طراحی سایت
  • تماس با ما
  • درباره ما
 
  • 02128423771 - 08736212195
  • info@zarrinlearn.com
  • بلاگ
  • تماس با ما
  • درباره ما
سایت اموزشی زرین لرن
  • خانه
  • مهارت های کامپیوتر
    • شبکه
    • ابزار های مایکروسافت افیس
    • ویندوز
  • برنامه نویسی و طراحی سایت
    • کد نویسی سمت کاربر
    • کد نویسی سمت سرور
    • cms های آماده
  • برنامه نویسی
    • اندروید
    • #C
    • بازی سازی
    • جاوا
    • پایتون
  • سورس کد ها
    • پروژه آماده اندروید
    • پروژه اماده unity
    • پروژه آماده سی شارپ
    • پروژه آماده طراحی سایت
  • تماس با ما
  • درباره ما
0

ورود و ثبت نام

بلاگ

سایت اموزشی زرین لرنبلاگمقالاتJavaScript Common Mistakes

JavaScript Common Mistakes

1 اسفند 1403
ارسال شده توسط سمیرا خانی
مقالات
47 بازدید

اشتباهات رایج در جاوا اسکریپت و نحوه اجتناب از آنها


۱. عدم اعلام صحیح متغیرها

❌ روش نادرست:

x = 10; // ایجاد یک متغیر به‌صورت ضمنی در سطح جهانی (global)

✅ روش صحیح:

let x = 10; // استفاده از `let` یا `const` برای جلوگیری از ایجاد متغیرهای سراسری


۲. اشتباه گرفتن == و ===

❌ روش نادرست:

console.log(0 == “”); // true (رفتار غیرمنتظره)

console.log(false == “0”); // true (غیرمنتظره)

✅ روش صحیح:

console.log(0 === “”); // false (مطابق انتظار)

console.log(false === “0”); // false (مطابق انتظار)

همیشه از === (مقایسه‌ی سختگیرانه) برای جلوگیری از تبدیل خودکار نوع (type coercion) استفاده کنید.


۳. تغییر آرایه در حین پیمایش (Iteration)

❌ روش نادرست:

let arr = [1, 2, 3, 4];

arr.forEach((item, index) => {

       if (item === 2) {

           arr.splice(index, 1);

         }

   });

console.log(arr); // رفتار غیرمنتظره

✅ روش صحیح:

let filteredArr = arr.filter(item => item !== 2);

console.log(filteredArr);

از filter() برای تغییر آرایه در هنگام پیمایش استفاده کنید.


۴. سوء تفاهم در مورد setTimeout داخل حلقه‌ها

❌ روش نادرست:

for (var i = 0; i < 3; i++) {

     setTimeout(() => console.log(i), 1000);

}

// خروجی: 3, 3, 3 (به جای 0, 1, 2)

✅ روش صحیح:

for (let i = 0; i < 3; i++) {

     setTimeout(() => console.log(i), 1000);

}

// خروجی: 0, 1, 2

استفاده از let به جای var باعث می‌شود که هر تکرار مقدار خاص خودش را داشته باشد.


۵. فراموش کردن break در switch

❌ روش نادرست:

let fruit = “apple”;

switch (fruit) {

       case “apple”:

           console.log(“قرمز”);

       case “banana”:

           console.log(“زرد”);

 }

// خروجی: قرمز زرد (رفتار غیرمنتظره)

✅ روش صحیح:

switch (fruit) {

     case “apple”:

           console.log(“قرمز”);

            break;

     case “banana”:

          console.log(“زرد”);

          break;

 }

همیشه از break برای جلوگیری از ادامه اجرای کد در case‌های بعدی استفاده کنید.


۶. مدیریت نادرست کدهای غیرهمزمان (Async Code)

❌ روش نادرست:

function fetchData() {

    let data;

    setTimeout(() => {

       data = “داده بارگیری شد”;

    }, 1000);

    return data;

}

console.log(fetchData()); // undefined

✅ روش صحیح:

function fetchData() {

    return new Promise((resolve) => {

         setTimeout(() => {

            resolve(“داده بارگیری شد”);

         }, 1000);

      });

}

fetchData().then(console.log);

برای مدیریت عملیات‌های غیرهمزمان از Promises یا async/await استفاده کنید.


۷. استفاده از var به جای let یا const

❌ روش نادرست:

function example() {

      if (true) {

               var x = 10;

       }

           console.log(x); // متغیر همچنان قابل دسترسی است (رفتار غیرمنتظره)

  }

✅ روش صحیح:

function example() {

    if (true) {

         let x = 10;

     }

           console.log(x); // ReferenceError: x is not defined

 }

استفاده از let یا const باعث محدود شدن متغیر در بلاک مربوطه می‌شود.


۸. فراموش کردن return در توابع arrow function

❌ روش نادرست:

const multiply = (a, b) => { a * b }; // Undefined

✅ روش صحیح:

const multiply = (a, b) => a * b;

اگر از {} استفاده کنید، باید return را به‌صورت صریح بنویسید.


۹. تعریف پارامترهای تکراری در تابع

❌ روش نادرست:

function sum(a, a) { // خطا در حالت strict mode

        return a + a;

}

✅ روش صحیح:

function sum(a, b) {

          return a + b;

}

از نام‌های یکتا برای پارامترهای توابع استفاده کنید.


۱۰. نادیده گرفتن مشکلات دقت در اعداد اعشاری

❌ روش نادرست:

console.log(0.1 + 0.2 === 0.3); // false

✅ روش صحیح:

console.log(Math.abs(0.1 + 0.2 – 0.3) < Number.EPSILON); // true

برای مقایسه‌ی اعداد اعشاری از Number.EPSILON استفاده کنید.


با پرهیز از این اشتباهات رایج، کدهای جاوا اسکریپت شما خواناتر و کم‌خطاتر خواهند بود. 🚀
اگر سوالی درباره‌ی اشکال‌زدایی (debugging) دارید، بپرسید! 😊

برچسب ها: JavaScript Common Mistakes،اشتباهات رایج در جاوا اسکریپت و نحوه اجتناب از آنها،
در تلگرام
کانال ما را دنبال کنید!
Created by potrace 1.14, written by Peter Selinger 2001-2017
در آپارات
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

چگونه در پایتون چند مقدار را به چند متغیر اختصاص دهیم ؟
قوانین نام‌گذاری متغیرها در پایتون ؛ راهنمای کامل و کاربردی
JavaScript else
JavaScript if
JavaScript Conditionals
JavaScript Comparison

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • مقالات
نوشته‌های تازه
  • چگونه در پایتون چند مقدار را به چند متغیر اختصاص دهیم ؟
  • قوانین نام‌گذاری متغیرها در پایتون ؛ راهنمای کامل و کاربردی
  • JavaScript else
  • JavaScript if
  • JavaScript Conditionals
درباره زرین لرن

ما برند زرین لرن را نامگذاری کردیم، زیرا برای ما بهترین علامت های تجاری ساده هستند. مارک ها رشد می کنند در توانایی آنها درک می شود.

فهرست سفارشی
  • صفحه اصلی اول
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره ما
  • سبد خرید
  • فروشگاه

طراحی شده توسط گروه فنی مهندسی زریم هور

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت