(ES6)ECMAScript6新特性 – const/默认值

const

const声明的变量是常量,不能被修改;类似于Java中的final关键字。

例如:

// 定义一个常量
const a = 10;

console.log(a);

a = 100; 

输出结果:

使用const定义的变量不能被修改。
当其定义一个对象时,可以修改对象中的内容的
例如:
// 定义一个对象
const obj = { name: 'admin', age: 20, }
console.log(obj);

// 修改name
obj.name = 'xiaoxin'; // 修改的是对象的属性,而不是对象的地址
console.log(obj);

// 重新定义对象
obj = new Object(); // 不能修改

输出结果:

这是因为对象是引用类型,obj中保存的仅是对象的指针,这就意味着,const仅保证指针不发生改变,修改对象的属性不会改变对象的指针,所以是可以修改的。也就是说,只要const定义的引用类型指针不变,其他的不论如何改变斗士允许的。

默认值

在ES6之前,无法给一个函数参数设置默认值,使用了ES6之后,就可以了。

function hello(age, name) {
    // 传统方式的指定默认参数方法
    var name = name || 'admin';
    console.log('hello', name);
}

function hello2(age, name = 'admin') {
    // ES6的默认参数写法
    console.log(`hello2 ${name}`);
}

输出结果:

 

转载请注明出处,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>