typeof
පිළිතුරු රාශියකට විකල්පයක් ;
ගෝලීය විචල්යයන් var varname = value;
ගෝලීය විෂය පථයේ ප්රකාශයක් සමඟ ප්රකාශයට පත් කෙරේ
කවුළු වස්තුවේ ගුණාංග ලෙස ප්රවේශ විය හැකිය.
එනිසා, hasOwnProperty()
ක්රමය, කුමන
වස්තුවට නිශ්චිත දේපලක් එහි දේපලක් ලෙස තිබේද යන්න දක්වමින් බූලියන් ලබා දෙයි (එය උරුම කර ගැනීමට වඩා වෙනස්ව)
යන්න තීරණය කිරීමට භාවිතා කළ හැකිය
එය var
ක "varname" ගෝලීය ප්රකාශයට පත් කර තිබේ එනම් එම ක දේපළක් window
.
// Globally established, therefore, properties of window
var foo = "whatever", // string
bar = false, // bool
baz; // undefined
// window.qux does not exist
console.log( [
window.hasOwnProperty( "foo" ), // true
window.hasOwnProperty( "bar" ), // true
window.hasOwnProperty( "baz" ), // true
window.hasOwnProperty( "qux" ) // false
] );
මෙහි ඇති වැදගත් hasOwnProperty()
දෙය නම්, එය ඇමතීමේදී, අපි තවමත් ප්රකාශයට පත් නොකළ විචල්යයක් භාවිතා නොකිරීමයි - ඇත්ත වශයෙන්ම කුමන ගැටලුව මුලින් අඩක් ද?
නැති වුණත් හැම විටම එම පරිපූර්ණ හෝ පරිපූර්ණ විසඳුමක්, යම් යම් අවස්ථාවල දී, එය හුදෙක් රස්සාව!
සටහන්
භාවිතා කරන විට ඉහත සැබෑ ය var
විචල්ය නිර්වචනය කිරීමට විරුද්ධ ලෙස, let
ඇති:
බ්ලොක් විෂය පථය දේශීය විචල්යය ප්රකාශ කරයි, විකල්පයක් ලෙස එය අගයකට ආරම්භ කරයි.
වාර්තා var
විෂය පථය නොසලකා ගෝලීය වශයෙන් හෝ දේශීයව සමස්ත ශ්රිතයක් සඳහා විචල්යයක් නිර්වචනය කරන යතුරු පදයට වඩා වෙනස් වේ.
ඉහළ මට්ටමේ වැඩසටහන් සහ කාර්යයන් let
, මෙන් නොව var
, ගෝලීය වස්තුව මත දේපලක් නිර්මාණය නොකරයි.
සම්පූර්ණත්වය සඳහා: const
නියතයන් අර්ථ දැක්වීම අනුව සත්ය වශයෙන්ම විචල්ය නොවේ (ඒවායේ අන්තර්ගතය විය හැකි වුවද); වඩාත් අදාළ:
var
විචල්යයන් මෙන් නොව ගෝලීය නියතයන් කවුළු වස්තුවේ ගුණාංග බවට පත් නොවේ . නියතයක් සඳහා ආරම්භකයක් අවශ්ය වේ; එනම්, ඔබ ප්රකාශ කළ ප්රකාශයේම එහි වටිනාකම සඳහන් කළ යුතුය.
නියතයක අගය නැවත පැවරීමෙන් වෙනස් කළ නොහැකි අතර එය නැවත ප්රකාශ කළ නොහැක.
සංයුක්ත ප්රකාශනය මඟින් අගය සඳහා කියවීමට පමණක් යොමු කිරීමක් නිර්මාණය කරයි. විචල්ය හැඳුනුම්පත නැවත පැවරිය නොහැකි තරමට එය සතුව ඇති අගය වෙනස් කළ නොහැකි බව එයින් අදහස් නොවේ.
සිට let
විචල්ය හෝ const
නියත උරුම වූ ඕනෑම වස්තුවක ගුණ කිසි hasOwnProperty()
ක්රමය, එය ඔවුන්ගේ පැවැත්ම සඳහා පරීක්ෂා කිරීම සඳහා භාවිතා කළ නොහැක.
ලබා ගත හැකි සහ භාවිතා කිරීම සම්බන්ධයෙන් hasOwnProperty()
:
සෑම වස්තුවකට පැවත වස්තූන් ද අනුන hasOwnProperty()
ක්රමය. [...] in
ක්රියාකරු මෙන් නොව , මෙම ක්රමය මඟින් වස්තුවේ මූලාකෘති දාමය පරීක්ෂා නොකරයි.
foo
ප්රකාශයට පත් කර ඇත්දැයි දැන ගැනීමට ඔබට අවශ්ය නම් ,typeof foo === 'undefined'
හෝtypeof foo === typeof undefined