JavaScript: How It’s Made
func.call(ARG)
将func
的this
属性指定为ARG
。
JavaScript Function - What’s your Function?
习惯:似乎大家都喜欢这样声明函数…
const foo = function () {
// DO SOMETHING
return 0;
}
Trick: 包含较多形参的函数
形参搞成一个对象
优点:
顺序无所谓
键值关系更清晰
rest
型形参args是一个数组,里面的元素相当于位置形参(Positional Arguments)了
箭头函数
this
的问题
不用箭头函数:
function Dog() {
var self = this;
this.breed = 'Wolf';
setTimeout(function () {
console.log(this.breed); // undefined
console.log(self.breed); // Wolf
}, 0);
}
用箭头函数:
function Dog() {
this.breed = 'Wolf';
setTimeout(function () {
console.log(this.breed); // Wolf
}, 0);
}
但有些框架/库不建议使用箭头函数(原因待探究),如 Vue.js
。
An Encounter with JavaScript Objects
遍历对象
for (key of Object.keys(obj)) {
console.log(key);
}
或者
for ([key, value] of Object.entries(obj)) {
console.log(key, value);
}
The Future of JavaScript - New Features and Disruptive Trends in 2020
这一部分的内容还是得等标准正式发布才真正算数。
用??
来设置默认值
const data_2019 = remote_data || DEFAULT_VALUE; // 如果remote_data正常值也可以取0,那就蛋疼了
const data_2020 = remote_data ?? DEFAULT_VALUE;
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 协议 。转载请注明出处!