我正在阅读有关 JavaScript 类的内容,并遇到了“公共类字段语法”这个术语。在深入研究它时,我遇到了这个Babel 关于类属性的文档。
有人可以解释一下 - 在实现方面,这种新语法的用例是什么? (它为 JavaScript 提供了哪些解决方案/好处,哪些是迄今为止缺失的?)
下面是一个例子(在谷歌浏览器中运行没有错误):
class Person {
firstName = "Mike";
lastName = "Patel";
// this is a public class field syntax
getName = () => {
return this.firstName + " " + this.lastName;
};
}
var p = new Person();
console.log(p.firstName); // Mike
console.log(p.lastName); // Patel
console.log(p.getName); // () => { return this.firstName + " " + this.lastName; }
console.log(typeof p.getName); // function
console.log(p.getName()); // Mike …Run Code Online (Sandbox Code Playgroud)我尝试通过将其作为的属性进行访问来修改父类的方法super。这里有两个问题:
super.getTaskCount没有更新父类中引用的方法?super.getTaskCount?代码执行过程中到底发生了什么?让我们来看一个例子:
// Parent Class
class Project {
getTaskCount() {
return 50;
}
}
// Child class
class SoftwareProject extends Project {
getTaskCount() {
// Let's try to modify "getTaskCount" method of parent class
super.getTaskCount = function() {
return 90;
};
return super.getTaskCount() + 6;
}
}
let p = new SoftwareProject();
console.log(p.getTaskCount()); // prints 56. Why not 96?
// Why did super.getTaskCount method remain unchanged?Run Code Online (Sandbox Code Playgroud)
PS:我知道我们可以在这种情况下使用getter和setter方法,但是我正在尝试了解更多信息super,它是正确的用法和局限性。
当比较运算符的输入作为两个字符串值给出时,比较运算符>会<返回值。Boolean
我尝试了几个例子:
/* String vs String */
console.log('firstName' < 'lastname'); // true
console.log('firstName' < 'Firstname'); // false
console.log('!firstName' < 'lastname'); // true
console.log('!firstName' < 'Firstname'); // true
console.log('!firstName' < '!Firstname'); // false
console.log('!firstName' < '_!Firstname'); // true
console.log('@!firstName' < '_!Firstname'); // true
console.log('@!firstName' < '2_!Firstname'); // false
/* String vs Number */
console.log('@!firstName' < 2); // false
console.log('@!firstName' < -1); // false
/* String vs Special Numbers */
console.log('@!firstName' < Infinity); // false
console.log('@!firstName' < …Run Code Online (Sandbox Code Playgroud)I've got a code that will run a set of 20 images, to make it look like an idle sprite is breathing when idle. This runs perfect when its only one loop.
However I can't get it to repeat that loop indefinitely.
Is there a cleaner and faster way to do what i'm doing?
Enclosing that in another for loop doesn't work. It ends in it never loading.
for(let i = 0; i < images.length; i++) {
window.setTimeout(function () { …Run Code Online (Sandbox Code Playgroud) 我发现try-with-resources可用于任何实现该AutoCloseable接口的类。
public interface AutoCloseable {
void close() throws Exception;
}
Run Code Online (Sandbox Code Playgroud)
这是类在 Java 中支持try-with-resources的唯一标准吗(我的意思是,是否存在类不实现AutoCloseable接口但支持try-with-resources 的可能场景)?
我正在尝试检查typeofJavaScript 的类型。为了在我尝试以下方法时进行务实的检查,它给出了SyntaxError
范例1:
typeof typeof // SyntaxError
Run Code Online (Sandbox Code Playgroud)
例子2
function checkType(x) {
return typeof x;
};
checkType(typeof); // SyntaxError
Run Code Online (Sandbox Code Playgroud)
因此,我在这里有两个问题:
typeofJavaScript中的类型是什么?编辑(以解释此问题的目的/好奇心):
我很好奇我们是否可以typeof在代码(或开发者控制台)中看到此类运算符的实现(如)。例如,以一种我可以查看/打印内置函数的函数定义的方式,我只是想知道是否可以通过任何方式来挖掘更多信息并获取有关诸如此类的运算符的信息typeof。在查看它们的用法时,对我而言,此类运算符看起来类似于内置函数,后者需要输入并返回输出。