记录npm start 的一次错误
切记,当前项目外的父文件夹,不能有node_modules文件,否则你会遇到让你怀疑人生的bug。
this的指向
ES5中,this指向的是函数被调用的对象;而ES6的箭头函数中,this指向的是函数被定义时
字符串的解构赋值
const [a, b, c, d] = 'smyhvae';
console.log(a); // s
console.log(b); // m
console.log(c); // y
console.log(d); // h
js对象和js数组的解构赋值
有一个重要的区别:数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,是根据键来取值的</span。
let { foo, bar } = { bar: '我是 bar 的值', foo: '我是 foo 的值' };
console.log(foo + ',' + bar); //输出结果:我是键 foo 的值,我是键 bar 的值
let foo = 'haha';
({ foo } = { foo: 'smyhvae' });
console.log(foo); //输出结果:smyhvae
注意:如果变量 foo 在解构之前就已经定义了,此时你再去解构,就会出现问题。这时,你需要加上括号,如上
undefined 和 null的区别
undefined:相当于什么都没有,此时 b 采用默认值。
null:相当于有值,但值为 null。
eg:es6 解构赋值 默认值
{
let [a, b = 'smyhvae'] = ['生命壹号', undefined]; //b 虽然被赋值为 undefined,但是 b 会采用默认值
console.log(a + ',' + b); //输出结果:生命壹号,smyhvae
}
{
let [a, b = 'smyhvae'] = ['生命壹号', null]; //b 被赋值为 null
console.log(a + ',' + b); //输出结果:生命壹号,null
}
达克效应
能力强的人总是低估自己,能力弱的人总是高估自己
- 当你认为你足够好了,你就放松了,也就没有前进的动力。
一个高效傲慢的程序员
“花费我的时间去帮助你,意味着我需要花费精力去帮助别人,而不是提高自己----这对我来说不是一个好的主意。我的建议是:自己多努力,自己弄懂。还可以塑造你自己的心性”