ES5 ya JavaScript

ECMAScript 5 ni ingine ni nini?

ECMAScript 5 inaitwa na hata hivyo ES5 na ECMAScript 2009.

Kituo hiki kinasababisha kwamba ina matukio bora ya ECMAScript 5.

Matukio ya ECMAScript 5

Hii ni matukio ya kina kina kina kina ambayo zilipatikana katika 2009:

  • "use strict" kina kina kina
  • 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()
  • Maana ya kifaa na mtaarifu wa kumekadiri
  • Maana ya kifaa na matukio mpya

Kina kina kina kina ya kiwango cha ECMAScript 5

  • Kutumia [ ] kwenye kina kina kina ya matukio
  • Kina kina kina kina ya matukio ya msingi na jadwali
  • Kina kina kina kina ya matukio ya mawili
  • ni kiwango hiki kinachotumika kama jina la kiwango.

"use strict" kina kina kina

"use strict" Kina kina kina kina inae kuzingumza na kiwango cha JavaScript ambacho inahitaji kufanywa kina kina kina.

Kama kiwango hiki kina kina kina, hauwezi kutumia kiwango hiki ambacho haitahitaji kushuhudia.

Inaweza kutumika kwenye programu zote. Itokeza kwamba ina kusababisha kwamba inavyotumika kwa kina kina kina, kama kusababisha kwamba hauwezi kutumia kiwango hiki ambacho haitahitaji kushuhudia.

"use strict" ina nia kwamba hii ni mfano wa hisia ya neno. Kama kiwango hiki haitafikia kwa kiwango hiki, kina kina kina haitakaribwa kosa.

Sakina kueleza. JS kina kina kina zaidi.

String.trim()

String.trim() Kupunguza herufi za huzuni kwenye kina na kina cha kifupi.

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Matukio ya string ya JS kueleza jadi zaidi.

Array.isArray()

isArray() Mwongozo huu inae kujaribu kusababisha kwamba kiwango hiki ni msingi.

Example

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

Try it yourself

Tafadhali tukumbuke hapa: JS msingi kueleza jadi zaidi.

Array.forEach()

forEach() Mwongozo huu inae kusababisha kwamba maelezo ya msingi inae kufikia kila kiwango kila mara.

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.

Array.map()

Mfano hii inae kuzingumza na kufikia watu wote katika msingi kufikia msingi mpya:

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.

Array.filter()

Mfano hii inae kuzungumza na matumizi ya uadilifu kwenye msingi kubuni msingi mpya:

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.

Array.reduce()

Mfano hii inae hifadhi jumla ya watu wote ya mawili kwenye msingi:

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.

Array.reduceRight()

Mafanikio hii inaelewa kusoma tabia za namba zote kwenye Array:

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.

Array.every()

Mafanikio hii inaelewa kusoma inayofikia juu ya 18 kwa tabia zote:

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.

Array.some()

Mafanikio hii inaelewa kusoma tabia kwenye namba zingi na kuwaambuka inayofikia juu ya 18:

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.

Array.indexOf()

Inarusha ukimwita tabia ya elementi kwenye kipakana cha Array na kurudi uko wa tabia hiyo:

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa ArrayKupata maadili zaidi.

Array.lastIndexOf()

Array.lastIndexOf() na Array.indexOf() Inafanana, lakini inasafirisha kuanzia mcho wa mengine wa joto.

Example

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

Try it yourself

Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.

JSON.parse()

Tukio lake lake kawaida la JSON ni kusoma data kutoka kwenye mtaalamu wa Web.

Tukufikiria, tunarusha nyingwani hii ya teksti kutoka kwenye mtaalamu wa Web:

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

Funguo ya JavaScript JSON.parse() Inatumiwa kusoma nyingwani kwenda kama muundo wa JavaScript:

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

Try it yourself

Tafadhali tukumbuka katika Mafunzo ya JSON Kupata maadili zaidi.

JSON.stringify()

Tukio lake lake kawaida la JSON ni kusoma data kwenye mtaalamu wa Web.

Inafaa kwamba data inaelewa kwenye mtaalamu wa Web kufikia kama nyingwani.

Tukufikiria, hatua yetu ni hii ya JavaScript:

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

Tumia programu ya JavaScript JSON.stringify() ili kuvunja kwa nyingwani.

var myJSON = JSON.stringify(obj);

Matokeo ni kuingia nyingwani ambayo inafanana na JSON representation.

myJSON niwe ni nyingwani, inayopungua kwenda kwenye mtaalamu:

Example

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

Try it yourself

Tafadhali tukumbuka katika Mafunzo ya JSON Kupata maadili zaidi.

Date.now()

Date.now() inatuma kwa mawili ya msaa kutoka tarehe ya nje (1 Januari 1970 00:00:00:00).

Example

var timInMSs = Date.now();

Try it yourself

Date.now() inaonyesha kama jumla ya muda katika kifaa ya Tarehe kwa kufanya getTime().

Tafadhali tukumbuke hapa: Tuzo ya Tarehe ya JS kuikenda zaidi.

Maana ya kifaa na mtaarifu wa kumekadiri

ES5 inafaa kuuweza kutumia lugha ya kufikia na kubadilisha maisha ya kifaa kwa kumekadiri kifaa.

Mfano huu una kumekadiri kifaa kwa jina lile linalojulikana kama fullName. getter:

Example

// Kina kiwango:
var person = {
  firstName: "Bill",
  lastName : "Gates",
  get fullName() {
    return this.firstName + " " + this.lastName;
  }
});
// Tumia getter kuonesha data kutoka kwenye kifaa:
document.getElementById("demo").innerHTML = person.fullName;

Try it yourself

Mfano huu una kumekadiri kifaa ya lugha kwa kuzengera kwa getter na setter. setter na getter:

Example

var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO",
  get lang() {
    return this.language;
  },
  set lang(value) {
    this.language = value;
  }
});
// Tumia setter kuweka maana kwenye kifaa:
person.lang = "en";
// Tumia getter kuonesha data kutoka kwenye kifaa:
document.getElementById("demo").innerHTML = person.lang;

Try it yourself

Mfano huu una tumia setter kuweza kubadilisha kwa ukuu ya lugha:

Example

var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO",
  set lang(value) {
    this.language = value.toUpperCase();
  }
});
// Tumia setter kuweka maana kwenye kifaa:
person.lang = "en";
// Onyesha data kutoka kwenye kifaa:
document.getElementById("demo").innerHTML = person.language;

Try it yourself

Tafadhali tukumbuke hapa: Kufikia kifaa cha JS kuikenda zaidi kuhusu mtaarifu wa getter na setter.

Maana ya kifaa na matukio mpya

Object.defineProperty() Inaonekana kama mtu mpya katika ES5.

Inafaa inayoweza kuuweza kumekadiri maisha ya msingi ya kifaa na/au kubadilisha thamani ya maisha ya kifaa na/au meta-data.

Example

// Kina kiwango:
var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO", 
});
// Badilisha kiwango:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable: true,
  configurable : true
});
// Kina kiwango
var txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;

Try it yourself

Mfano wa kifo ni kama hii kipindi kimekabidhi kwa kusimamia kiwango cha lenga katika kina kiwango kwa kufadhiwa katika orodha:

Example

// Kina kiwango:
var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO", 
});
// Badilisha kiwango:
Object.defineProperty(person, "language", {
  value: "EN",
  writable : true,
  enumerable : false,
  configurable : true
});
// Kina kiwango
var txt = "";
for (var x in person) {
  txt += person[x] + "<br>";
}
document.getElementById("demo").innerHTML = txt;

Try it yourself

// Hii inakubadilisha kati ya setter na getter kuwa mkakati kwa kuupita hifadhi kwa kichwa kikuu cha lenga:

Example

// Kina kiwango:
var person = {
  firstName: "Bill",
  lastName : "Gates",
  language : "NO"
});
// Badilisha kiwango:
Object.defineProperty(person, "language", {
  get : function() { return language },
  set : function(value) { language = value.toUpperCase()}
});
// Badilisha lenga
person.language = "en";
// Showa lenga
document.getElementById("demo").innerHTML = person.language;

Try it yourself

Vifaa vya kiume vya ES5

ECMAScript 5 aningia kiwango kipya kwa sababu ya JavaScript:

// Angalia au kubadilisha kiwango cha kitu
Object.defineProperty(object, property, descriptor)
// Angalia au kubadilisha kati ya viwango vingine vya kitu
Object.defineProperties(object, descriptors)
// Uainuka kwa kiwango cha hasira
Object.getOwnPropertyDescriptor(object, property)
// Ingia yote katika orodha
Object.getOwnPropertyNames(object)
// Ingia viwango vingine katika orodha
Object.keys(object)
// Uainuka maelezo ya msingi
Object.getPrototypeOf(object)
// Inasababisha kuwa kina hali haitafutaji kufikia kushika kwa kina hali
Object.preventExtensions(object)
// Inakubaliana na true kama kina hali inaweza kuwa inasababisha kuwa inasababisha
Object.isExtensible(object)
// Inasababisha kuwa kina hali haitafutaji kufikia kushika kwa kina hali (bila hali)
Object.seal(object)
// Inakubaliana na true kama kina hali inasababisha kuwa inasababisha
Object.isSealed(object)
// Inasababisha kuwa kina hali haitafutaji hali yoyote
Object.freeze(object)
// Inakubaliana na true kama kina hali inafungua
Object.isFrozen(object)

Tafadhali tukumbuke hapa: Mwongozo wa Object ECMAScript5 Kupata maadili zaidi.

Uhamisho wa kiwango cha kawaida cha string

charAt() Method inaonyesha herufi kwenye kiwango cha kawaida cha string:

Example

var str = "HELLO WORLD";
str.charAt(0);            // Inaonyesha H

Try it yourself

ECMAScript 5 inaruhusiwa kufikia kushika kwa string:

Example

var str = "HELLO WORLD";
str[0];                   // Inaonyesha H

Try it yourself

Uhamisho wa kiwango cha kawaida cha string inaweza kuwa inasikitaka.

Tafadhali tukumbuke hapa: Matukio ya string ya JS Kupata maadili zaidi.

Chuki za kufikia kushika (Trailing Commas)

ECMAScript 5 inaruhusiwa kusababisha chuki za kufikia kushika kwenye ufafanuzi wa kina na matukio:

Mfano wa Object

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

Mfano wa Array

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

Tahadhari!!!

Internet Explorer 8 itakadifuati.

JSON haaminwi kusababisha chuki za kufikia kushika.

Mwongozo wa JSON:

// Inasikitaka inayowakilika:
var person = '{"firstName":"Bill", "lastName":"Gates", "age":62}'
JSON.parse(person)
// Hatarisha inasikitaka:
var person = '{"firstName":"Bill", "lastName":"Gates", "age":62,}'
JSON.parse(person)

Mataja ya JSON:

// Inasikitaka inayowakilika:
points = [40, 100, 1, 5, 25, 10]
// Hatarisha inasikitaka:
points = [40, 100, 1, 5, 25, 10,]

Multi-line strings

If backslashes are used for escaping, ECMAScript 5 allows multi-line string literals (literals):

Example

"Hello \
Kitty!";

Try it yourself

The backslash method may not be universally supported.

Older browsers may handle spaces around the backslash in different ways.

Some old browsers do not allow spaces after the backslash character.

A safer way to split string literals is to use string concatenation:

Example

"Hello " + 
"Kitty!";

Try it yourself

Reserved words as property names

ECMAScript 5 allows reserved words to be used as property names:

Object example

var obj = {name: "Bill", new: "yes"}

Try it yourself

ES5 (ECMAScript 5) browser support

Chrome 23, IE 10 and Safari 6 are the first batch of browsers that fully support ECMAScript 5:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
September 2012 September 2012 April 2013 July 2012 July 2013