Properties
பொருளின் பண்பு (property) என்பது ஒரு propertyName: propertyValue ஜோடியாகும், இதில் property name என்பது ஒரு சரமாக (string) மட்டுமே இருக்க முடியும். அது ஒரு சரமாக இல்லாவிட்டால், அது சரமாக மாற்றப்படும். நீங்கள் ஒரு பொருளை உருவாக்கும்போது அல்லது பின்னர் பண்புகளைக் குறிப்பிடலாம். காற்புள்ளிகளால் (commas) பிரிக்கப்பட்ட பூஜ்ஜியம் அல்லது அதற்கு மேற்பட்ட பண்புகள் இருக்கலாம்.
let language = {
name: "JavaScript",
isSupportedByBrowsers: true,
createdIn: 1995,
author: {
firstName: "Brendan",
lastName: "Eich",
},
// ஆம், பொருள்களை உள்ளமைக்க (nested) முடியும்!
getAuthorFullName: function () {
return this.author.firstName + " " + this.author.lastName;
},
// ஆம், செயல்பாடுகளும் (functions) மதிப்புகளாக இருக்கலாம்!
};
ஒரு பண்பின் மதிப்பை எவ்வாறு பெறுவது (get) என்பதைப் பின்வரும் குறியீடு விளக்குகிறது.
let variable = language.name;
// variable இப்போது "JavaScript" சரத்தைக் கொண்டுள்ளது.
variable = language["name"];
// மேலே உள்ள வரிகள் ஒரே காரியத்தையே செய்கின்றன. வித்தியாசம் என்னவென்றால், இரண்டாவது வரியானது எந்தவொரு சரத்தையும் பண்புப் பெயராகப் பயன்படுத்த உங்களை அனுமதிக்கிறது, ஆனால் இது படிப்பதற்கு எளிதானதாக இல்லை.
variable = language.newProperty;
// variable இப்போது undefined ஆக உள்ளது, ஏனென்றால் இந்த பண்பை நாங்கள் இன்னும் ஒதுக்கவில்லை.
புதிய பண்பை எவ்வாறு சேர்ப்பது (add) அல்லது ஏற்கனவே உள்ள ஒன்றை எவ்வாறு மாற்றுவது (change) என்பதைப் பின்வரும் எடுத்துக்காட்டு காட்டுகிறது.
language.newProperty = "new value";
// இப்போது பொருளுக்கு புதிய பண்பு உள்ளது. பண்பு ஏற்கனவே இருந்தால், அதன் மதிப்பு மாற்றப்படும்.
language["newProperty"] = "changed value";
// மீண்டும் ஒருமுறை, நீங்கள் இரண்டு வழிகளிலும் பண்புகளை அணுகலாம். முதலாவது (dot notation) பரிந்துரைக்கப்படுகிறது.