جاوااسکریپت یک زبان با نوع داده پویا (Dynamic Data Type) است این عبارت یعنی شما نیاز ندارید که به طور مشخص نوع داده یک متغیر را در زمان تعریف آن مشخص کنید و برنامه به صورت خودکار نوع داده را از مقدار انتسابی به متغیر در زمان اجرا متوجه میشود.
همچنین جاوااسکریپت یک زبان با نوع داده ضعیف (weakly type) است، یعنی زبان در محاسبات با نوع دادههای نامربوط به هم، به صورت خودکار اقدام به تبدیل نوع داده میکند و خطای نوع داده ایجاد نمیشود.
جاوا اسکریپت دارای چندین نوع داده است که به دو دسته تقسیم میشوند
انواع اولیه (primitive type)
رشته (String)، نشان دهنده دنباله ای از کاراکترها است. به عنوان مثال: "Hello"
عدد (Number): هم اعداد صحیح و هم اعداد اعشاری را نشان می دهد. مثال: 54 یا 1.17
عدد بزرگ (BigInt): برای نمایش اعداد صحیح با بزرگی دلخواه میباشد.
بولین (Boolean): نوع دادهای است که تنها یکی از دو مقدار true یا false را میگیرد.
نوع Null: تنها مقدار null را میتواند بپذیرد که معمولا نشان دهنده عدم وجود شی میباشد.
نوع Undefined: تنها مقدار undefined را میتواند بپذیرد که معمولا نشان دهنده عدم وجود مقدار میباشد.
نماد (Symbol): یک مقدار منحصر به فرد، که اغلب به عنوان کلید برای ویژگی های شی استفاده میشود.
نوع مرجع (reference type)
شی (Object): مجموعه ای از ویژگیها، که در آن هر ویژگی یک جفت کلید-مقدار است که کلید از نوع رشته و یا symbol است و مقدار میتواند هر نوع دادهای باشد.
آرایهها، توابع و ... از نوع Object میباشند.