جسٹسکریپٹ کا ES5

ECMAScript 5 کیا ہے؟

ECMAScript 5 بھی کہلاتا ہے ES5 اور ECMAScript 2009۔

یہ فصل، ES5 کی سب سے اہم خصوصیات کو معرفت دیتا ہے۔

ECMAScript 5 خصوصیات

یہ 2009 میں شائع کئے گئے نئی خصوصیات ہیں:

  • "use strict" حکم
  • String.trim()
  • Array.isArray()
  • Array.forEach()
  • Array.map()
  • Array.filter()
  • Array.reduce()
  • Array.reduceRight()
  • Array.every()
  • Array.some()
  • Array.indexOf()
  • Array.lastIndexOf()
  • JSON.parse()
  • JSON.stringify()
  • Date.now ()
  • پروپرٹی getter اور setter
  • نئی ایکٹیوبجک پروپرٹی اور میتھد

ECMAScript 5 گرامر تبدیلی

  • جملوں کی خصوصیتی جگہوں میں استعمال کئے جانے والی جملات
  • آرایہ اور اشیاء کی جملوں میں اگلے کمانڈ کا استعمال
  • بہت ساری جملات میں استعمال کئے جانے والی جملات
  • حصہ کی نامزد کی حصص میں استعمال کئے جانے والی محفوظ جملات

"use strict" حکم

"use strict"use strict" دکھانے کا عمل

مثلاً سخت موازنہ کا استعمال کردیئے تو غیر دکھائی دیئے گئے متغیروں کا استعمال نہیں کرسکتے۔

آپ سارے پروگراموں میں سخت موازنہ استعمال کرسکتے ہیں۔ یہ آپ کو بہتر کد لکھنے میں مدد کرتا ہے، مثلاً آپ کو غیر دکھائی دیئے گئے متغیروں کا استعمال نہیں کرنا دیتا۔

"use strict” یہ صرف ایک فلمی جملہ ہے۔ اگر قدیم ناوہات کو فهم نہیں کرسکتی تو ان کی وجہ سے معاملات نہیں رونما ہو سکتے۔

مطالید کریئے JS سخت موازنہ مطالعات کے لئے مزید پڑھیئے。

String.trim()

String.trim() مقابلہ کا خالی حصہ حذف کرنا۔

مثال

var str = "       Hello World!        ";
alert(str.trim());

صرف خود کوشش کریں

لطفاً در روش‌های جائز JS برای رشته‌ها مطالعات کے لئے مزید پڑھیئے。

Array.isArray()

isArray() مетод اشیاء کو آرایہ کا پتہ لگانا دیتا ہے۔

مثال

function myFunction() {
  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  var x = document.getElementById("demo");
  x.innerHTML = Array.isArray(fruits);
}

صرف خود کوشش کریں

لطفاً در JS آرایہ مطالعات کے لئے مزید پڑھیئے。

Array.forEach()

forEach() مетод ہر آرایہ کا عنصر ایک بار کا فراہمی دیتا ہے۔

مثال

var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value) {
  txt = txt + value + "<br>"; 
}

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کار برای یادگیری بیشتر مطالب به ادامه بروید.

Array.map()

یہ مثال ہر آرایہ کی مقادیر کو 2 کے ساتھ بڑھاتا ہے:

مثال

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value) {
  return value * 2;
}

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کار برای یادگیری بیشتر مطالب به ادامه بروید.

Array.filter()

یہ مثال 18 سے بڑے مقادیر والے عناصر کا ایک نئی آرایہ بناتا ہے:

مثال

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value) {
  return value > 18;
}

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کار برای یادگیری بیشتر مطالب به ادامه بروید.

Array.reduce()

یہ مثال اعداد کی مجموعہ میں تمام اعداد کا مجموعہ طے کرتا ہے:

مثال

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value) {
  return total + value;
}

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کار برای یادگیری بیشتر مطالب به ادامه بروید.

Array.reduceRight()

یہ مثال بھی آرائی میں تمام تعداد کا مجموعہ لگانا چاہئے:

مثال

var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
  return total + value;
}

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کار برای یادگیری بیشتر مطالب به ادامه بروید.

Array.every()

یہ مثال کا مقصد یہ چاہئے کہ آیا تمام وقفوں میں سے کسی کا وقفہ 18 سے زیادہ ہوگا یا نہیں:

مثال

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value) {
  return value > 18;
}

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کار برای یادگیری بیشتر مطالب به ادامه بروید.

Array.some()

یہ مثال کچھ وقفے کا پتہ لگانا چاہئے کہ آیا ان وقفوں میں سے کسی کا وقفہ 18 سے زیادہ ہوگا یا نہیں:

مثال

var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.some(myFunction);
function myFunction(value) {
  return value > 18;
}

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کار برای یادگیری بیشتر مطالب به ادامه بروید.

Array.indexOf()

آرائی میں کسی علامت کا موقع کو تلاش کرنا اور اس کا موقع کو درج کرنا:

مثال

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کاربرای یادگیری بیشتر مطالب به ادامه بروید.

Array.lastIndexOf()

Array.lastIndexOf() جیسا کہ Array.indexOf() ایسا ہی، لیکن آرائی کی آخری جگہ سے شروع ہوتا ہے اور شناخت کرتا ہے۔

مثال

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");

صرف خود کوشش کریں

لطفاً در JS آرائی کی تکرار کا طریقہ کار برای یادگیری بیشتر مطالب به ادامه بروید.

JSON.parse()

JSON کا ایک عام استعمال داتا کو Web سرور سے حاصل کرنا ہوتا ہے۔

تصور کریں، آپ سے Web سرور سے اس متن سٹرنگ کو ملنا ہوا ہے:

'{"name":"Bill", "age":62, "city":"Seatle"}'

جاوا اسکریپت فنکشن JSON.parse() یہ فانکشن دا تیار ہوا ہے تاکہ متن کو JavaScript آئیٹم میں تبدیل کریں:

var obj = JSON.parse('{"name":"Bill", "age":62, "city":"Seatle"}');

صرف خود کوشش کریں

کریپشن میں سیکھیں JSON تعلیم برای یادگیری بیشتر مطالب به ادامه بروید.

JSON.stringify()

JSON کا ایک عام استعمال داتا کو Web سرور کو بھیجنا ہوتا ہے۔

داتا کو Web سرور کو بھیجتے وقت، داتا سٹرنگ ہونا چاہئے۔

تصور کریں، ہم JavaScript میں اس آئیٹم کا حامل ہیں:

var obj = {"name":"Bill", "age":62, "city":"Seatle"} ;

لطفاً JavaScript فانکشن JSON.stringify() استعمال کریں اور اس کو سٹرنگ میں تبدیل کریں۔

var myJSON = JSON.stringify (obj) ;

نتیجہ یہ سٹرنگ ہوگا جو JSON نمائش کا متعلق ہوگا۔

myJSON ابجديه اکثرت آسانی کا ایک سٹرنگ ہوگا، جس کو سرور کو بھیجنا تیار ہوا ہوگا:

مثال

var obj = {"name":"Bill", "age":62, "city":"Seatle"} ;
var myJSON = JSON.stringify (obj) ;
document.getElementById("demo").innerHTML = myJSON ;

صرف خود کوشش کریں

کریپشن میں سیکھیں JSON تعلیم برای یادگیری بیشتر مطالب به ادامه بروید.

Date.now ()

Date.now () ویلو صفر تاریخ سے (1970 ستمبر 1، 00:00:00:00) سے شروع ہونے والی میل سیکنڈوں کی تعداد ہے

مثال

var timInMSs = Date.now () ;

صرف خود کوشش کریں

Date.now () کا بازآور کیا جاتا ہے جو Date اکٹیوبجک پر getTime () کو چلایا جاتا ہے

لطفاً در JS تاریخ کا بارے میں مزید معلومات کی اورکریپشن میں سیکھیں۔

پروپرٹی getter اور setter

ES5 آپ کو حاصل یا سیٹ کی جیسے پروپرٹیوں کی بنیاد پر ایکٹیوبجک میتھد تعریف کرنے کی اجازت دیتا ہے

یہ مثال fullName نام کی پروپرٹی کے لئے ایک getter بناتا ہے getter:

مثال

// اوبجیکٹ کا قیام:
var person = {
  firstName: "Bill",
  lastName : "Gates",
  get fullName() {
    return this.firstName + " " + this.lastName ;
  }
});
// getter کا استعمال کرکے ایکٹیوبجک سے آئی-ڈیٹا دکھائیں:
document.getElementById("demo").innerHTML = person.fullName ;

صرف خود کوشش کریں

یہ مثال لینگ پروپرٹی کے لئے ایک setter بناتا ہے setter اور getter:

مثال

var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO",
  get lang() {
    return this.language ;
  },
  set lang(value) {
    this.language = value ;
  }
});
// setter کا استعمال کرکے ایکٹیوبجک پروپرٹی کو سیٹ کریں:
person.lang = "en" ;
// getter کا استعمال کرکے ایکٹیوبجک سے آئی-ڈیٹا دکھائیں:
document.getElementById("demo").innerHTML = person.lang ;

صرف خود کوشش کریں

یہ مثال setter کا استعمال کرکے لینگ کی بڑی حروف میں تبدیل کرنا یقینی بناتا ہے:

مثال

var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO",
  set lang(value) {
    this.language = value.toUpperCase () ;
  }
});
// setter کا استعمال کرکے ایکٹیوبجک پروپرٹی کو سیٹ کریں:
person.lang = "en" ;
// آپنے ایکٹیوبجک سے آئی-ڈیٹا دکھائیں:
document.getElementById("demo").innerHTML = person.language;

صرف خود کوشش کریں

لطفاً در JS ایکٹیوبجک اکسسور getter اور setter کے بارے میں مزید معلومات کی اورکریپشن میں سیکھیں۔

نئی ایکٹیوبجک پروپرٹی اور میتھد

Object.defineProperty () یہ ES5 میں نئی ایکٹیوبجک میتھد ہے۔

یہ آپ کو اپنے ایکٹیوبجک پروپرٹیز کا تعریف کرنے اور/یا اس کی کی ویلو اور/یا میٹا ڈاٹا کو تبدیل کرنے کی اجازت دیتا ہے۔

مثال

// اوبجیکٹ کا قیام:
var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO", 
});
// خصوصیات کو تبدیل کریں:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : true ,
  configurable : true
});
// خصوصیات کا حوالہ دینا
var txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;

صرف خود کوشش کریں

آئندہ مثال مشاہدت کے لئے مشاہدت کی گئی ہے، لیکن اس میں زبان کی خصوصیات کو پنهان کیا گیا ہے:}}

مثال

// اوبجیکٹ کا قیام:
var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO", 
});
// خصوصیات کو تبدیل کریں:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : false,
  configurable : true
});
// خصوصیات کا حوالہ دینا
var txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;

صرف خود کوشش کریں

// اس مثال میں ایک setter اور getter قائم کی گئی ہیں تاکہ زبان کا بڑا حرف اپدیت کیا جاسکے:

مثال

// اوبجیکٹ کا قیام:
var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO"
});
// خصوصیات کو تبدیل کریں:
Object.defineProperty(person, "language", {
  get : function() { return language },
  set : function(value) { language = value.toUpperCase()}
});
// زبان کو تبدیل کریں
person.language = "en";
// زبان کا نمائش
document.getElementById("demo").innerHTML = person.language;

صرف خود کوشش کریں

ES5 کی نئی اوبجیکٹ مہمز

ECMAScript 5 نے JavaScript کو بہت سے نئی اوبجیکٹ مہمز کی ہیں:

// اوبجیکٹ خصوصیات کا اضافہ یا ترمیم کریں
Object.defineProperty(object, property, descriptor)
// متعدد اوبجیکٹ خصوصیات کا اضافہ یا ترمیم کریں
Object.defineProperties(object, descriptors)
// خصوصیات را وصول کریں
Object.getOwnPropertyDescriptor(object, property)
// تمام خصوصیات را به عنوان یک آرایه بازگرداند
Object.getOwnPropertyNames(object)
// قابل شمارش خصوصیات را به عنوان یک آرایه بازگرداند
Object.keys(object)
// وصول پراکٹوٹایپ
Object.getPrototypeOf(object)
// از اضافه کردن ویژگی‌ها به موعن جلوگیری می‌کند
Object.preventExtensions(object)
// اگر می‌توان ویژگی‌ها به موعن اضافه کرد، true برگرداند
Object.isExtensible(object)
// از تغییر ویژگی‌های موعن جلوگیری می‌کند (نه مقادیر)
Object.seal(object)
// اگر موعن مسدود شده باشد، true برگرداند
Object.isSealed(object)
// از تغییر موعن جلوگیری می‌کند
Object.freeze(object)
// اگر موعن مسدود شده باشد، true برگرداند
Object.isFrozen(object)

لطفاً در موعن ECMAScript5 برای یادگیری بیشتر مطالب به ادامه بروید.

دسترسی به ویژگی‌های رشته

charAt() این روش‌ها بازمی‌گردد به کاربرد

مثال

var str = "HELLO WORLD";
str.charAt(0);            // برگرداند H

صرف خود کوشش کریں

ECMAScript 5 مستحب دسترسی به ویژگی‌های رشته است:

مثال

var str = "HELLO WORLD";
str[0];                   // برگرداند H

صرف خود کوشش کریں

دسترسی به ویژگی‌های رشته ممکن است کمی غیرقابل پیش‌بینی باشد.

لطفاً در روش‌های جائز JS برای رشته‌ها برای یادگیری بیشتر مطالب به ادامه بروید.

کمای پس از دنباله نویسی(Trailing Commas)

ECMAScript 5 مستحب استفاده از کمای پس از دنباله نویسی در تعریف اشیاء و لیست‌ها است:

مثال Object

person = {
  firstName: "Bill",
  lastName: " Gates",
  age: 62,
}

مثال Array

points = [
  1,
  5,
  10,
  25,
  40,
  100,
];

اخطار!!!

اینترنت اکسپلورر 8 از کار خواهد افتاد.

JSON نا مستحب استفاده از کمای پس از دنباله نویسی.

لیسانی موعن

// مستحب:
var person = '{"firstName":"Bill", "lastName":"Gates", "age":62}'
JSON.parse(person)
// نا مستحب:
var person = '{"firstName":"Bill", "lastName":"Gates", "age":62,}'
JSON.parse(person)

لیسانی جائز

// مستحب:
points = [40, 100, 1, 5, 25, 10]
// نا مستحب:
points = [40, 100, 1, 5, 25, 10,]

بہت سارے سطور والی شٹرنگ لٹر

اگر وار اسکور کا استعمال کیا جائے تو ECMAScript 5 میں بہت سارے سطور والی شٹرنگ لٹر کا استعمال کیا جاسکتا ہے (لیکینوئل):

مثال

"ہیلو \

کٹی!";

صرف خود کوشش کریں

اس متد کو عام طور پر پشتیبند نہیں کیا گیا ہے.

بعض قدیمی براؤزرز کسی دوسری طرح سے سائٹز کے آندر سائٹز کا ہندسیات پچھلے ساتھ پیسسپیسز کا ہندسیات کا طریقہ کار استعمال کرسکتا ہیں.

کچھ قدیمی براؤزر اس ساتھ پیسسپیسز کی وجہ سے نا معقول نہیں ہیں.

شٹرنگ لٹر کا تقسیم کرنے کا ایک بہتر طریقہ شٹرنگ ایجوٹیشن کا استعمال کرنا ہے:

مثال

"ہیلو " + 
"کٹی!";

صرف خود کوشش کریں

ریزرو کلمات کے نام کے طور پر استعمال

ECMAScript 5 میں ریزرو کلمات کو اوبجیکٹ کی اپنی خاصیت کے نام کے طور پر استعمال کیا جاسکتا ہے:

اوبجیکٹ مثال

وار اوبجیکٹ = {نام: "بیل", نیو: "بلیک"}

صرف خود کوشش کریں

ES5 (ECMAScript 5) براؤزر پشتیبند

کروم 23، آئی ای 10 اور سافری 6 ECMAScript 5 کی پورے طور پر پشتیبند براؤزروں کی پہلی لسٹ ہیں:

کروم 23 آئی ای 10 / ایج فائر فاکس 21 سافری 6 اورپا 15
2012 سال ستمبر 2012 سال ستمبر 2013 سال اپریل 2012 سال جولائی 2013 سال جولائی