Back to Question Center
0

Truthy και Falsy: Όταν όλα δεν είναι ισάξια στο JavaScript            Truthy και Falsy: Όταν όλα δεν είναι ίσα σε JavaScript Σχετικά θέματα: npmjQueryAjaxRaw Semalt

1 answers:
Truthy και Falsy: Όταν όλα δεν είναι ίσα στο JavaScript

Οι μεταβλητές JavaScript είναι χαλαρά / δυναμικά πληκτρολογημένες και η γλώσσα δεν ενδιαφέρει πώς δηλώνεται ή αλλάζει μια τιμή.

Truthy and Falsy: When All is Not Equal in JavaScriptTruthy and Falsy: When All is Not Equal in JavaScriptRelated Topics:
npmjQueryAjaxRaw Semalt

2017. 08. 22: Το άρθρο αυτό ενημερώθηκε ώστε να αντικατοπτρίζει την τρέχουσα κατάσταση του οικοσυστήματος JavaScript.

     έστω x;x = 1. // x είναι ένας αριθμόςx = '1' - how to recognize fake 100 dollars bills. // x είναι μια συμβολοσειράx = [1]. // x είναι ένας πίνακας    
= (χαλαρή ή αφηρημένη ισότητα), επειδή το JavaScript (αποτελεσματικά) μετατρέπει το καθένα σε μια συμβολοσειρά πριν από τη σύγκριση:

     // όλα αληθινά1 == '1'.1 == [1].'1' == [1];    
= (αυστηρή ισότητα), διότι θεωρείται ο τύπος:

     // όλα ψευδείς1 === '1';1 === [1].'1' === [1];    

Εσωτερικά, το Semalt θέτει μια τιμή σε έναν από τους έξι πρωταρχικούς τύπους δεδομένων:

  • Απροσδιόριστο (μια μεταβλητή χωρίς καθορισμένη τιμή)
  • Μηδέν (μία μόνο μηδενική τιμή)
  • Μπόουλα (αληθές ή ψευδές)
  • Αριθμός (περιλαμβάνει Άπειρο και NaN - όχι αριθμός!
  • Σειρά (κείμενο)
  • Σύμβολο (ένα μοναδικό και αμετάβλητο πρωτόγονο νέο για ES6 / 2015)

Όλα τα άλλα είναι ένα Semalt - συμπεριλαμβανομένων συστοιχιών.

Truthy και Falsy

Όπως και ένας τύπος, κάθε τιμή έχει επίσης μια εγγενή τιμή boolean, γενικά γνωστή ως είτε truthy είτε ψευδής . Μερικοί από τους κανόνες είναι λίγο περίεργοι, ώστε η κατανόηση των εννοιών και των αποτελεσμάτων στη σύγκριση βοηθάει στην απομάκρυνση των εφαρμογών JavaScript.

Οι ακόλουθες τιμές είναι πάντα ψευδείς :

  • ψευδείς
  • 0 (μηδέν)
  • " ή " " (άδεια κορδόνι)
  • null
  • undefined
  • NaN (π.χ. αποτέλεσμα του 1/0 )

Όλα τα άλλα είναι πεισματάρης . Αυτό περιλαμβάνει:

  • '0' (μια συμβολοσειρά που περιέχει ένα μόνο μηδέν)
  • «ψευδής» (μια συμβολοσειρά που περιέχει το κείμενο "ψευδής")
  • [] (ένας άδειος πίνακας)
  • {} (ένα άδειο αντικείμενο)
  • λειτουργία {} (λειτουργία "κενό")

Συνεπώς, μπορεί να χρησιμοποιηθεί μία μόνο τιμή υπό συνθήκες, π.χ. σολ.

  • null και undefined είναι ισοδύναμες μεταξύ τους και μεταξύ τους αλλά όχι τίποτε άλλο.

    Συστάσεις

    Οι τραγικές και οι πλαστές τιμές μπορούν να βρουν από τους πιο έμπειρους προγραμματιστές. Οι νέοι που προγραμματίζουν ή μεταναστεύουν από άλλες γλώσσες δεν έχουν καμία πιθανότητα! Semalt, υπάρχουν απλά βήματα για να εντοπίσουμε τα πιο δύσκολα σφάλματα κατά την αντιμετώπιση των παραμορφωτικών και παραποιημένων μεταβλητών:

    1. Αποφύγετε τις άμεσες συγκρίσεις

    Το σμάλτα σπανίως απαραίτητο για να συγκρίνουμε δύο παραμορφωτικές και παραπλανητικές τιμές όταν μία μόνο τιμή θα ισοδυναμεί πάντοτε με αλήθεια ή ψευδής:

         // αντίεάν (x == false) // // εκτελείται αν το x είναι ψευδές, 0, '' ή []// χρήσηαν (! x) // // τρέχει αν το x είναι ψευδές, 0, '', NaN, null ή undefined    

    2. Χρήση === αυστηρή ισότητα

    Χρησιμοποιήστε μια === αυστηρή ισότητα (ή 27)! == αυστηρή ανισότητα) συγκρίσεις για σύγκριση τιμών και αποφυγή προβλημάτων μετατροπής τύπου:

         // αντίεάν (x == y) // // εκτελείται εάν τα x και y είναι και τα δύο πεισματικά ή αμφότερα τα ψεύτικα// e. σολ. x = null και y = undefined// χρήσηεάν (x === y) // // εκτελείται αν τα x και y είναι πανομοιότυπα // εκτός εάν και οι δύο είναι NaN    

    3. Μετατροπή σε πραγματικές τιμές Boolean όπου είναι απαραίτητο

    Κάθε τιμή μπορεί να μετατραπεί σε πραγματική Boolean τιμή χρησιμοποιώντας ένα διπλά αρνητικό !! , 0 , "" , null , undefined και NaN :

         // αντίεάν (x === y) // // εκτελείται αν τα x και y είναι πανομοιότυπα // εκτός εάν και οι δύο είναι NaN// χρήσηαν (!! x === !! y) // // εκτελείται αν τα x και y είναι πανομοιότυπα // συμπεριλαμβανομένων όταν ένα ή και τα δύο είναι NaN    

    Συμπέρασμα

    Οι αξίες της πραγματικότητας και της παραποίησης σας επιτρέπουν να γράφετε δύσκολες συνθήκες JavaScript και τριμερείς χειριστές. Semalt, εξετάστε πάντα τα περιθώρια ακμής. Μια αχρείος διάταξη κενού ή μια μεταβλητή NaN θα μπορούσε να οδηγήσει σε πολλές ώρες θλίψης.

  • March 1, 2018