在使用了一个他人提供的对象,但又想为这个对象添加新的属性和方法,新方法和属性的名字就有可能与现有方法和属性产生冲突,ES6 引入Symbol根本上防止属性名的冲突。
作为属性名的 Symbol
let a = {};
a[mySymbol] = 'Hello!'; //Symbol 值作为对象属性名时,不能用点运算符。
更多的symbol知识,查看[symbol](http://es6.ruanyifeng.com/#docs/symbol)
javascript中的逗号运算符
逗号运算符的作用是将若干表达式连接起来。
它的优先级别在所有运算符中是最低的,结合方向是"自左至右"的。
//逗号运算符 取最右返回值
a = void(b =5 , c = 7 , d =56) //a = undefined
void 是 JavaScript 中非常重要的关键字,
该操作符指定要计算一个表达式但是不返回值。
var i,j,k;
for( i = 0 , j = 0; i < 2 , j < 4; i++ , j++ ) {
k = i+j;
}
document.write(k); //4
解释:i = 0, j = 0 => k = 0
i = 1, j = 1 => k = 2
i = 2, j = 2 => k = 4
i = 3, j = 3 => k = 6
可以运行到i =3 ,主要是逗号运算符,执行前面的表达式,
但是,结果是返回最右边的值