答:不可以,arguments对象不适用于ES6 arrow functions。
function one() {
return arguments;
}
const two = function () {
return arguments;
}
const three = function three() {
return arguments;
}
const four = () => arguments;
four(); // Throws an error - arguments is not defined
当我们调用函数four时,它将引发ReferenceError:参数未定义错误。
如果您的环境支持其余语法,我们可以解决此问题。
const four = (...args) => args;
这会将所有参数值自动放入数组中。
答:我们可以使用来创建没有原型的对象Object.create method
。
const o1 = {};
console.log(o1.toString());
// logs [object Object] get this method to the Object.prototype
const o2 = Object.create(null);
// the first parameter is the prototype of the object "o2" which in this case will be null specifying we don't want any prototype
console.log(o2.toString());
// throws an error o2.toString is not a function
答: 变量的范围是程序在其中定义的区域。 JavaScript变量将只有两个作用域。
JavaScript中的这个关键字引用了它所属的对象。
根据使用位置的不同,它具有不同的意义。
答:
答:
typeof
操作用于获取其操作数的数据类型。答: JavaScript具有严格的和类型转换的比较:
===
)在不强制的情况下检查值是否相等==
)在允许强制的情况下检查值是否相等。var a = "42";
var b = 42;
a == b; // true
a === b; // false
一些简单的平等规则:
-如果比较中的任何一个值(又名“正”值)可以是true或false,请不要用==
,而使用===
。
==
,而使用===
。==
。 它不仅安全,而且在许多情况下都以提高可读性的方式简化了代码。==
和===
之间有什么区别?==
是抽象相等运算符,而===
是严格相等运算符。
==
进行任何必要的类型转换后,运算符将比较是否相等。
该===
不会做类型转换,因此,如果两个值是不一样的类型===
将简单地返回false。
使用==
时,可能会发生一些有趣的事情,例如:
1 == "1"; // true
1 == [1]; // true
1 == true; // true
0 == ""; // true
0 == "0"; // true
0 == false; // true
在此处 阅读有关ECMAScript的更多信息。
感谢您阅读本篇博客文章,希望能对您有所帮助。我很快将更新系列的第5-10部分,应该在明天了,我会保持每天至少更新一篇,关注我,或者❤或📑把本篇文章收藏起来,我会把后续内容链接放在本篇文章末尾。