في لغة البرمجة JavaScript، علامة “!” تستخدم كعامل لعملية النفي أو الإنكار. عندما تراها متصلة بمتغير أو تعبير، فإنها تعكس قيمة تلك المتغير أو التعبير. بمعنى آخر، إذا كانت القيمة الأصلية للمتغير true، فسيجعل الاستخدام النفي القيمة false، والعكس صحيح.
في المثال الذي وجدته في رمز التطبيق، السطر:
javascript$scope.editMode = ! $scope.editMode;
هذا السطر يُقلب قيمة المتغير $scope.editMode
. إذا كان $scope.editMode
يحتوي على true، فسيجعله false، وإذا كان يحتوي على false، فسيجعله true. يتم ذلك باستخدام العملية اللوجيكية “النفي”.
في المثال الذي قدمته في JSFiddle،
javascript$scope.name = ! $scope.hero;
إذا كانت قيمة $scope.hero
تمثل قيمة تعبيرية “truthy”، مثل النص الفارغ أو القيمة 0، فسيقوم النفي بتحويلها إلى false. وإذا كانت القيمة تمثل “falsy”، مثل أي نص غير فارغ أو أي رقم غير الصفر، فسيتم تحويلها إلى true.
لذا، في المثال الخاص بك، إذا كانت $scope.hero
تمثل قيمة truthy، فسيتم تعيين قيمة $scope.name
إلى false، وإذا كانت $scope.hero
تمثل قيمة falsy، فسيتم تعيين قيمة $scope.name
إلى true.
باختصار، لا يُعتبر علامة “!” عملية “لا تساوي” في JavaScript، بل تُستخدم للنفي أو الإنكار لقيمة معينة.
المزيد من المعلومات
بالطبع، دعنا نستكمل المقال بتوسيع الشرح حول استخدام علامة “!” في JavaScript وتوضيح المفاهيم المتعلقة بها.
علامة “!” هي عامل لعملية النفي في JavaScript. عندما تُستخدم مع قيمة معينة، فإنها تقوم بتغيير تلك القيمة من true إلى false أو العكس، وذلك حسب قيمتها الأصلية.
يُمكن استخدام النفي في العديد من السياقات في برمجة JavaScript، بما في ذلك:
-
تبديل القيم (Toggling Values): كما رأينا في الأمثلة السابقة، يمكن استخدام النفي لتبديل القيم بين true و false. هذا يكون مفيدًا في تفعيل وتعطيل الميزات أو تبديل حالات العرض في التطبيقات.
-
فحص الشرط (Condition Checking): يُستخدم النفي في تحويل قيم الشرط. على سبيل المثال، إذا كان لديك شرط يحتوي على قيمة معينة، يمكن استخدام النفي لتغيير سلوك الشرط. على سبيل المثال:
javascriptif (!isAuthenticated) { // اتخاذ إجراءات لتسجيل الدخول }
في هذا المثال، إذا كانت قيمة
isAuthenticated
false، فسيتم تنفيذ الشرط. -
التحقق من قيم البيانات (Data Validation): قد يتم استخدام النفي للتحقق من صحة البيانات. على سبيل المثال، يمكن استخدامه للتحقق مما إذا كانت سلسلة النصوص فارغة أو لا:
javascriptif (!username) { // قم بعرض رسالة خطأ }
في هذا المثال، إذا كانت قيمة
username
فارغة، سيتم تنفيذ الشرط. -
تحويل الأنواع (Type Conversion): يمكن استخدام النفي لتحويل القيم من نوع إلى آخر. على سبيل المثال، يُمكن استخدامه لتحويل القيم بين الأنواع اللوجيكية والأعدادية. على سبيل المثال:
javascriptlet num = 0; console.log(!num); // سيعرض true
في هذا المثال، يتم تحويل الرقم 0 إلى قيمة true بسبب عملية النفي.
بهذه الطرق، تُظهر علامة “!” قيمتها في JavaScript كأداة قوية للتحكم في تدفق البرنامج وتحويل القيم. باستخدامها بشكل صحيح، يمكن للمطورين تحقيق المزيد من المرونة والفعالية في كتابة الشفرة.