JavaScript小知识:const声明

2023-05-27 0 1,011

JavaScript小知识:const声明

除采用let和var新闻稿表达式,在ES6中还减少const新闻稿。const的犯罪行为与let完全相同,但有两个关键的差别,采用const 新闻稿表达式时要调用两个值,因此在新闻稿后无法修正那个值。假如修正const表达式的值将引致运转收起,比如:

const age=30;

age=31//15 Uncaught TypeError: Assignment to constant variable.

须要特别注意的是const和let那样都是快返回值,换句话说在块句子外部新闻稿的const表达式无法第一印象在块句子外部新闻稿的表达式,与此相反:

const name=”jsindexhtml”;

if(true){

const name=”hsindexhtml”;//无法收起

}

当然,我们仅无法修正const定义的的表达式。假如const引用的是对象,则无法受到次影响:

const name={

name:jsindexhtml,

age:31

};

name.age=30;

这段代码无法收起,因为const引用的是对象,name.age=30修正的是对象name的age属性。

我们无法采用const新闻稿for循环的迭代器表达式。

for(const i=0;i<5;i++){

setTimeout(()=>console.log(i),0);

}

假如我们for循环的迭代器表达式是两个常量,无法发生迭代,则只能采用const新闻稿,对于for in 和for of循环尤其关键:

let i = 0;

for (const j = 7; 0< i < 5;++ i) {

console.log(j);//

}

打印结果为7,但是这里存在两个问题,假如i的迭代形式为i++,将使循环体不断输出7,占用大量内存,是浏览器崩溃。所以所以在for循环谨慎采用const新闻稿迭代器表达式,将迭代形式设置为++i。

采用const定义遍历数组值和对象属性的迭代器表达式

数组:

for(const value of [1,2,3,4,5]){

console.log(value);//1、2、3、4、5

}

对象:

let person={name:”wang”,age:31,adress:”四川成都”}

for(const key in person){

console.log(key);//name、 age、adress

}

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务