أنواع جافا سكريبت

قد تقرأ أحيانًا أن JS غير مطبوع ، لكن هذا غير صحيح. صحيح أنه يمكنك تعيين جميع أنواع الأنواع المختلفة إلى متغير ، لكن JavaScript بها أنواع. على وجه الخصوص ، يوفر أنواعًا بدائية وأنواع الكائنات.

أنواع بدائية

الأنواع البدائية

ونوعين خاصين:

  • لا شيء
  • غير معرف

دعونا نراهم بالتفصيل في الأقسام التالية.

أعداد

داخليا،JavaScriptنوع واحد فقط للأرقام: كل رقم هو عدد عشري

الرقم الحرفي هو رقم يتم تمثيله في الكود المصدري ، بناءً على كيفية كتابته ، يمكن أن يكون عددًا صحيحًا حرفيًا أو حرفًا عائمًا.

عدد صحيح:

10
5354576767321
0xCC //hex

يطفو:

3.14
.1234
5.2e4 //5.2 * 10^4

سلاسل

نوع السلسلة هو سلسلة من الأحرف. يتم تعريفه في التعليمات البرمجية المصدر على أنه سلسلة حرفية محاطة بعلامات اقتباس أو علامات اقتباس مزدوجة

'A string'
"Another string"

يمكن أن تمتد السلاسل عبر عدة أسطر باستخدام الشرطة المائلة للخلف

"A \
string"

يمكن أن تحتوي السلسلة على تسلسلات هروب يمكن تفسيرها عند طباعة السلسلة ، مثل \ n لإنشاء سطر جديد. تكون الشرطة المائلة العكسية مفيدة أيضًا عندما تحتاج إلى إدخال اقتباس في سلسلة محاطة بعلامات اقتباس ، على سبيل المثال ، لمنع تفسير الحرف على أنه اقتباس ختامي:

'I\'m a developer'

يمكن ضم السلاسل باستخدام عامل التشغيل +:

"A " + "string"

حرفية القالب

تم تقديم القيم الحرفية للقالب في ES2015 ، وهي عبارة عن سلسلة حرفية تتيح طريقة أكثر فعالية لتحديد السلاسل.

const a_string = `something`

يمكنك إجراء استبدال سلسلة ، وتضمين نتيجة أي تعبير JS:

`a string with ${something}`
`a string with ${something+somethingElse}`
`a string with ${obj.something()}`

يمكنك الحصول على سلاسل متعددة الأسطر بسهولة:

`a string
with
${something}`

قيمة منطقية

تحدد JavaScript كلمتين محجوزتين لـ booleans: true و false. العديد من عمليات المقارنة== === < >(وما إلى ذلك) إرجاع أحدهما أو الآخر.

ifوwhileالبيانات وغيرها من هياكل التحكم تستخدم القيم المنطقية لتحديد تدفق البرنامج

إنهم لا يقبلون فقط الصواب أو الخطأ ، بل يقبلون أيضًاصدقوزورالقيم.

القيم والقيم الزائفةيفسر على أنه خطأ، نكون

0
-0
NaN
undefined
null
'' //empty string

كل ما تبقى يعتبر أقيمة صادقة.

لا شيء

nullهي قيمة خاصة تشير إلى عدم وجود قيمة.

إنه مفهوم شائع في اللغات الأخرى أيضًا ، ويمكن أن يُعرف باسمnilأوNoneفي بايثون على سبيل المثال.

غير معرف

undefinedيشير إلى أن المتغير لم تتم تهيئته وأن القيمة غائبة.

يتم إرجاعها عادةً بواسطة وظائف بدونreturnالقيمة. عندما تقبل دالة معلمة ولكن لم يتم تعيينها بواسطة المتصل ، فإنها غير محددة.

لاكتشاف ما إذا كانت القيمةundefined، يمكنك استخدام البناء:

typeof variable === 'undefined'

أنواع الكائنات

أي شيء ليس من النوع البدائي هوموضوعاكتب.

أنواع الكائنات لها خصائص ولها أيضًا طرق يمكنها العمل على تلك الخصائص.

كيف تجد نوع المتغير

أي متغير له نوع معين. استخدم الtypeofعامل التشغيل للحصول على تمثيل سلسلة من نوع:

typeof 1 === 'number'
typeof '1' === 'string'
typeof {name: 'Flavio'} === 'object'
typeof [1, 2, 3] === 'object'
typeof true === 'boolean'
typeof undefined === 'undefined'
typeof (() => {}) === 'function'

لماذا اtypeofعاد "وظيفة"؟ جافا سكريبت لا تحتوي علىfunctionاكتب. هذا صحيح ، وهذا أمر غريبtypeofالتي ترجع هذه القيمة بشكل ملائم.


المزيد من دروس js: