Gépelés - Bevezetés a programozás
fontos megjegyzések
Itt az érték nem volt szándékos. Úgy tűnik, csak még nem az ideje, hogy ez az érték.
null szükségessége kifejezetten szándékozó azt jelzi, hogy az érték nincs jelen. Azt lehet mondani, hagyja, hogy egy = null;. Például, ha megkérdezzük a felhasználót, hogy adja meg adatait, de nem vezetett. Ebben az esetben célszerű, hogy írjon null eredmény.
null. Ellentétben definiált. Meg lehet állítani kézzel, mint argumentum egy funkciót, és általánosan használt, mint bármely más explicit értéket.
Ha összehasonlítjuk null és meghatározatlan kell, hogy legyen óvatos:
Ebben természetesen fogjuk összehasonlítani az adatokat három egyenlő jel:
Ez az összehasonlítás közvetlen: ha ezek az adatok teljesen azonosak?
szinopszis lecke
NaN jelentése „nem szám”, de ez a fajta értékek - számot.
Változó jelentés nélkül egy speciális érték definiálatlan. Írja be a változó - nem meghatározott:
Dinamikus és statikus gépelési
Kód átalakul egy másik formája, hogy a számítógép képes futtatni. Ezt a folyamatot nevezik összeállítása, valamint azt az időtartamot, amelyre ez a folyamat zajlik - a folyamatban összeállítás (fordításkor).
Miután a válogatás befejeződött, a program elindul, és az időszak futása, az úgynevezett szakaszában végrehajtás (futási idő).
Statikusan típusos nyelv ellenőrizze típusú és keres gépelési hibák fordításkor.
Dinamikusan típusos nyelv ellenőrizze típusú és keres elírása végrehajtását.
Más szóval, a statikus típus ellenőrzése tipizirovanie jelenti a program megkezdése előtt; - a dinamikus típus ellenőrzése, míg a program fut.
Gyenge és erős gépelés
választható
Az átirat a lecke
Egy korábbi leckében beszéltünk hibák és hogyan kell megbirkózni velük. Rengeteg féle hibák, és szeretnék emlékeztetni, hogy egy bizonyos formában. Itt van egy kis töredéke a leckét:
Megnézzük ezt a kódot:
Gépelési hiba - ez olyan, mint egy macska kérve, hogy mossa ruháit. Talán szeretne kérdezni a barátod.
typeof - egy speciális operátor, amely visszaadja egy karakterlánc, amely azt mondja típusa.
Mi van, ha sozdadat változó, de ne kérdezd meg valami különbség? Ami ebben az esetben a típus? Ez sem a szám, sem a vonalat, semmi. Mivel nincs értéke, nem igaz?
Például, a típusszám több potenciális értékek: 1, 2, -10, és más számokat 69000. És meghatározatlan típus, csak egy - definiálatlan.
Mikor jön a gépelés programozás, fontos különbséget tenni a két fogalom: dinamikus vs. statikus és gyenge ellen az erős.
Ahhoz, hogy megértsük a különbséget a dinamikus és statikus gépelés, akkor először meg kell látni, hogy az írott programok futnak programok.
A kód, amit írsz, általában alakítjuk érthető formában, hogy indítsa el a számítógépet. Ezt a folyamatot nevezik összeállítása, és az az időtartam, amely alatt ez bekövetkezik - „fordítási” vagy fordításkor.
Miután a válogatás befejeződött, és a program fut, indítsa el a visszaszámlálást, amely az úgynevezett „kivitelezése” vagy üzemidejét.
Néhány nyelv ellenőrizze típusú és keres gépelési hibák fordításkor. Ezek statikus gépelés.
Más nyelvek ellenőrizze típusú és keres elírása végrehajtását. Ez a gépelés - dinamikus.
Más szóval, a statikus gépelési típusellenőrzés program futtatása előtt, dinamikus - típusellenőrzés amikor egy program fut.
C #, C ++, Java, lépés - egy statikusan típusos nyelv. Ha a fenti nyelvek valamelyikén, akkor létrehoz egy számot, és próbálja időt tölteni vele a művelet függvényében, akkor kap egy fordítási hiba, és a program nem fog futni - ez nem is jön ebben a szakaszban, mert a gépelési hibát észlel a kivégzés előtt, fordításkor.
Dinamikus tipizálás nem rosszabb és nem jobb, mint a statikus. Mindkét módszernek vannak előnyei és hátrányai. Dinamikusan típusos nyelv általában könnyebb tanulni írni és programokat őket, de el tudja képzelni, hogy potenciálisan növeli a hibák okozta.
Ebben a koncepcióban nincs semmi köze a dinamikus és statikus gépelést, amelynek értelmében - ha az ellenőrzött típusok. Erős ellen a gyenge -, hogy ellenőrizze, mennyire súlyos típusok.
Akkor feltételezhető, hogy a gyenge - erősen típusos és erős - igényes.
Ezzel szemben a dinamikus-statikus, a teljesítmény spektrum gépelés. A PHP gépelés egy kicsit erősebb. Python még több. És ezek mind dinamikusan típusos nyelv.
Abból lehet kiindulni, hogy egy implicit konverzió típusát a típus - nem a legjobb ötlet. Implicit eszközök rejtett és rejtett - olyan nehéz megérteni, és hajlamos a hibákra. Program viselkedés azonban kevésbé nyilvánvaló. Írsz kevesebb kód, igen, de a kód sokkal törékenyebb és kevésbé intuitív.