Vivasoft-logo

5.5 āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ°ā§āĻ¸Â 

āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻ•āĻŋ āĻāĻŸāĻž āĻāĻ•āĻŸā§ āĻĻā§āĻ°ā§āĻ¤Â  āĻ°āĻŋāĻ­āĻŋāĻ‰ āĻ•āĻ°ā§‡ āĻ¨ā§‡āĻ‡āĨ¤ āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻšāĻšā§āĻ›ā§‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻŽā§‡āĻĨāĻĄ āĻ¯āĻžÂ  āĻ•ā§āĻ˛āĻžāĻ¸āĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžā§ŸāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻ° āĻ•ā§āĻ˛āĻžāĻ¸Â  āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ¨āĻŸā§āĻ°ā§‹āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšā§ŸāĨ¤ āĻŸāĻžāĻ‡āĻĒāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻĻā§āĻ‡āĻŸāĻž āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¸āĻ° āĻŽā§‡āĻĨāĻĄ āĻ†āĻ›ā§‡ āĻ¯āĻž āĻšāĻ˛ āĻ¸ā§‡āĻŸāĻžāĻ° (Setter) āĻ†āĻ° āĻ—ā§‡āĻŸāĻžāĻ° (Getter)  āĻ¯āĻž āĻĻāĻŋā§Ÿā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ˛āĻžāĻ¸āĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ†āĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤Â 

āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻĄāĻŋāĻ•ā§āĻ˛āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ āĻŋāĻ• āĻ†āĻ—ā§‡ āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ°āĻ¸ āĻĄāĻŋāĻ•ā§āĻ˛ā§‡ā§ŸāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤

āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ°, āĻŽā§‡āĻĨāĻĄ āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ°ā§‡āĻ°Â  āĻŽāĻ¤āĻ‡ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§‡āĻŸāĻžāĻ° (Setter) āĻ†āĻ° āĻ—ā§‡āĻŸāĻžāĻ° (Getter) āĻŽā§‡āĻĨāĻĄā§‡āĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻžā§Ÿ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻāĻ•āĻŸāĻž āĻ¸āĻŋāĻ™ā§āĻ—ā§‡āĻ˛ āĻŽā§‡āĻŽā§āĻŦāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĻā§āĻ‡āĻŸāĻž āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ° āĻ†āĻŽāĻ°āĻžÂ  āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°Â  āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦ āĻ¨āĻž āĨ¤ āĻŦāĻ°āĻ‚, āĻŽā§‡āĻŽā§āĻŦāĻžāĻ°āĻŸāĻŋāĻ° āĻ¸āĻŦ āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ°āĻ—ā§āĻ˛ā§‹ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ…āĻ°ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ°ā§‡Â  āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤Â 

āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽā§‡ āĻ•āĻ˛ āĻšā§Ÿ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻž āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

ā§§āĨ¤Â  target: āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŽā§‡āĻŽā§āĻŦāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋāĻ° āĻ•āĻ¨ā§āĻ¸āĻŸā§āĻ°āĻžāĻ•āĻŸāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ…āĻĨāĻŦāĻž āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻŽā§‡āĻŽā§āĻŦāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋāĻ° āĻĒā§āĻ°āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ 

ā§¨āĨ¤ propertyKey: āĻŽā§‡āĻŽā§āĻŦāĻžāĻ°āĻŸāĻŋāĻ° āĻ¨āĻžāĻŽ

ā§ŠāĨ¤ descriptor: āĻŽā§‡āĻŽā§āĻŦāĻžāĻ°āĻŸāĻŋāĻ° āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻĄā§‡āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ°

āĻ¨ā§‹āĻŸ – āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ ES5 – āĻāĻ° āĻ¨āĻŋāĻšā§‡ āĻšā§Ÿ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻĄā§‡āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ° āĻ†āĻ¨āĻĄāĻŋāĻĢāĻžāĻ‡āĻ¨āĻĄ āĻšāĻŦā§‡āĨ¤

āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ° āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡, āĻ¸ā§‡āĻŸāĻž āĻŽā§‡āĻŽā§āĻŦāĻžāĻ°āĻŸāĻŋāĻ° āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻĄā§‡āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ°Â  āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻŦā§‡āĨ¤

āĻ¨ā§‹āĻŸ – āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ ES5 āĻāĻ° āĻ¨āĻŋāĻšā§‡ āĻšā§Ÿ, āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ­ā§āĻ¯āĻžāĻ˛ā§āĻŸāĻŋ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ¨āĻŋāĻšā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŋ –

				
					class Point {
  private _x: number;
  private _y: number;
  constructor(x: number, y: number) {
    this._x = x;
    this._y = y;
  }


  @readonly
  get x() {
    return this._x;
  }


  @readonly
  get y() {
    return this._y;
  }
}

				
			
				
					function readonly(target: any, propertyKey: string) {
  const descriptor: PropertyDescriptor = {
    writable: false,
  };


  Object.defineProperty(target, propertyKey, descriptor);
}


const point = new Point(4, 5);
console.log(point.x); // Output: 4


point.x = 5; // This will throw an error
				
			

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ° @readonly Point āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻŽā§‡āĻŽā§āĻŦāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¯āĻžÂ  āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻ•ā§‡ āĻ°āĻŋāĻĄ-āĻ…āĻ¨āĻ˛āĻŋ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻšā§āĻ›ā§‡āĨ¤ āĻĄā§‡āĻ•ā§‹āĻ°ā§‡āĻŸāĻ°āĻŸāĻŋ āĻ¯āĻ–āĻ¨ āĻāĻ•ā§āĻ¸ā§‡āĻ¸āĻ° āĻ—ā§‡āĻŸāĻžāĻ° (Getter) – āĻ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ˛, āĻāĻŸāĻž āĻĒā§āĻ°ā§‹āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻĄā§‡āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ°āĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻ¨-āĻ°āĻžāĻ‡āĻŸā§‡āĻŦāĻ˛ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ˛āĨ¤