JavaScript Const
ECMAScript 2015
ES2015 ÒýÈëÁËÁ½¸öÖØÒªµÄ JavaScript йؼü´Ê£ºlet ºÍ const¡£
ͨ¹ý const ¶¨ÒåµÄ±äÁ¿Óë let ±äÁ¿ÀàËÆ£¬µ«²»ÄÜÖØÐ¸³Öµ£º
ʵÀý
const PI = 3.141592653589793; PI = 3.14; // »á³ö´í PI = PI + 10; // Ò²»á³ö´í
¿é×÷ÓÃÓò
ÔÚ¿é×÷ÓÃÓòÄÚʹÓà const ÉùÃ÷µÄ±äÁ¿Óë let ±äÁ¿ÏàËÆ¡£
ÔÚ±¾ÀýÖУ¬x ÔÚ¿éÖÐÉùÃ÷£¬²»Í¬ÓÚÔÚ¿éÖ®ÍâÉùÃ÷µÄ x£º
ʵÀý
var x = 10; // ´Ë´¦£¬x Ϊ 10 { const x = 6; // ´Ë´¦£¬x Ϊ 6 } // ´Ë´¦£¬x Ϊ 10
Äú¿ÉÒÔÔÚÉÏÒ»Õ JavaScript Let ÖÐѧµ½¸ü¶àÓйؿé×÷ÓÃÓòµÄ֪ʶ¡£
ÔÚÉùÃ÷ʱ¸³Öµ
JavaScript const ±äÁ¿±ØÐëÔÚÉùÃ÷ʱ¸³Öµ£º
²»ÕýÈ·
const PI; PI = 3.14159265359;
ÕýÈ·
const PI = 3.14159265359;
²»ÊÇÕæÕýµÄ³£Êý
¹Ø¼ü×Ö const ÓÐÒ»¶¨µÄÎóµ¼ÐÔ¡£
ËüûÓж¨Òå³£Á¿Öµ¡£Ëü¶¨ÒåÁ˶ÔÖµµÄ³£Á¿ÒýÓá£
Òò´Ë£¬ÎÒÃDz»Äܸü¸Ä³£Á¿Ôʼֵ£¬µ«ÎÒÃÇ¿ÉÒÔ¸ü¸Ä³£Á¿¶ÔÏóµÄÊôÐÔ¡£
Ôʼֵ
Èç¹ûÎÒÃǽ«Ò»¸öÔʼֵ¸³¸ø³£Á¿£¬ÎÒÃǾͲ»ÄܸıäÔʼֵ£º
ʵÀý
const PI = 3.141592653589793; PI = 3.14; // »á³ö´í PI = PI + 10; // Ò²»á³ö´í
³£Á¿¶ÔÏó¿ÉÒÔ¸ü¸Ä
Äú¿ÉÒÔ¸ü¸Ä³£Á¿¶ÔÏóµÄÊôÐÔ£º
ʵÀý
// Äú¿ÉÒÔ´´½¨ const ¶ÔÏó£º const car = {type:"porsche", model:"911", color:"Black"}; // Äú¿ÉÒÔ¸ü¸ÄÊôÐÔ£º car.color = "White"; // Äú¿ÉÒÔÌí¼ÓÊôÐÔ£º car.owner = "Bill";
µ«ÊÇÄúÎÞ·¨ÖØÐÂΪ³£Á¿¶ÔÏó¸³Öµ£º
ʵÀý
const car = {type:"porsche", model:"911", color:"Black"};
car = {type:"Volvo", model:"XC60", color:"White"}; // ERROR
³£Á¿Êý×é¿ÉÒÔ¸ü¸Ä
Äú¿ÉÒÔ¸ü¸Ä³£Á¿Êý×éµÄÔªËØ£º
ʵÀý
// Äú¿ÉÒÔ´´½¨³£Á¿Êý×飺 const cars = ["Audi", "BMW", "porsche"]; // Äú¿ÉÒÔ¸ü¸ÄÔªËØ£º cars[0] = "Honda"; // Äú¿ÉÒÔÌí¼ÓÔªËØ£º cars.push("Volvo");
µ«ÊÇÄúÎÞ·¨ÖØÐÂΪ³£Á¿Êý×鸳ֵ£º
ʵÀý
const cars = ["Audi", "BMW", "porsche"];
cars = ["Honda", "Toyota", "Volvo"]; // ERROR
ä¯ÀÀÆ÷Ö§³Ö
Internet Explorer 10 »ò¸üÔç°æ±¾²»Ö§³Ö const ¹Ø¼ü´Ê¡£
ÏÂ±í¶¨ÒåÁ˵ÚÒ»¸öÍêȫ֧³Ö const ¹Ø¼ü´ÊµÄä¯ÀÀÆ÷°æ±¾£º
Chrome 49 | IE / Edge 11 | Firefox 36 | Safari 10 | Opera 36 |
2016 Äê 3 ÔÂ | 2013 Äê 10 ÔÂ | 2015 Äê 2 ÔÂ | 2016 Äê 9 ÔÂ | 2016 Äê 3 ÔÂ |
ÖØÐÂÉùÃ÷
ÔÚ³ÌÐòÖеÄÈκÎλÖö¼ÔÊÐíÖØÐÂÉùÃ÷ JavaScript var ±äÁ¿£º
ʵÀý
var x = 2; // ÔÊÐí var x = 3; // ÔÊÐí x = 4; // ÔÊÐí
ÔÚͬһ×÷ÓÃÓò»ò¿éÖУ¬²»ÔÊÐí½«ÒÑÓÐµÄ var »ò let ±äÁ¿ÖØÐÂÉùÃ÷»òÖØÐ¸³Öµ¸ø const£º
ʵÀý
var x = 2; // ÔÊÐí const x = 2; // ²»ÔÊÐí { let x = 2; // ÔÊÐí const x = 2; // ²»ÔÊÐí }
ÔÚͬһ×÷ÓÃÓò»ò¿éÖУ¬ÎªÒÑÓÐµÄ const ±äÁ¿ÖØÐÂÉùÃ÷ÉùÃ÷»ò¸³ÖµÊDz»ÔÊÐíµÄ£º
ʵÀý
const x = 2; // ÔÊÐí const x = 3; // ²»ÔÊÐí x = 3; // ²»ÔÊÐí var x = 3; // ²»ÔÊÐí let x = 3; // ²»ÔÊÐí { const x = 2; // ÔÊÐí const x = 3; // ²»ÔÊÐí x = 3; // ²»ÔÊÐí var x = 3; // ²»ÔÊÐí let x = 3; // ²»ÔÊÐí }
ÔÚÁíÍâµÄ×÷ÓÃÓò»ò¿éÖÐÖØÐÂÉùÃ÷ const ÊÇÔÊÐíµÄ£º
ʵÀý
const x = 2; // ÔÊÐí { const x = 3; // ÔÊÐí } { const x = 4; // ÔÊÐí }
ÌáÉý
ͨ¹ý var ¶¨ÒåµÄ±äÁ¿»á±»ÌáÉýµ½¶¥¶Ë¡£Èç¹ûÄú²»Á˽âʲôÊÇÌáÉý£¨Hoisting£©£¬ÇëѧϰÌáÉýÕâÒ»Õ¡£
Äú¿ÉÒÔÔÚÉùÃ÷ var ±äÁ¿Ö®Ç°¾ÍʹÓÃËü£º
ʵÀý
carName = "Volvo"; // Äú¿ÉÒÔÔÚ´Ë´¦Ê¹Óà carName
var carName;
ͨ¹ý const ¶¨ÒåµÄ±äÁ¿²»»á±»ÌáÉýµ½¶¥¶Ë¡£
const ±äÁ¿²»ÄÜÔÚÉùÃ÷֮ǰʹÓãº
ʵÀý
carName = "Volvo"; // Äú²»¿ÉÒÔÔÚ´Ë´¦Ê¹Óà carName
const carName = "Volvo";