Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:在concstructor中编写类的属性和在concstructor之外编写类的属性之间的区别?_Javascript_Class_Javascript Objects - Fatal编程技术网

Javascript:在concstructor中编写类的属性和在concstructor之外编写类的属性之间的区别?

Javascript:在concstructor中编写类的属性和在concstructor之外编写类的属性之间的区别?,javascript,class,javascript-objects,Javascript,Class,Javascript Objects,在类构造函数内部或外部编写属性有什么区别 例如,在这两个示例中,写入属性“legs”的区别是什么: (一) (二) 第二个选项需要插件,而第一个不需要插件。在类中动态使用属性。这样想,构造函数在类实例化任何值时更改或分配属性。构造函数之外的属性是默认值。如果我们不在类中编写任何构造函数定义,它将无法在实例化中获得新值。构造函数/方法将在我们实例化该类时被激发,它将根据我们的需要或需要构造所有内容 class Rabbit{ legs= 4 constructor

在类构造函数内部或外部编写属性有什么区别

例如,在这两个示例中,写入属性“legs”的区别是什么:

(一)

(二)


第二个选项需要插件,而第一个不需要插件。

在类中动态使用
属性
。这样想,
构造函数
实例化任何值时更改或分配属性。构造函数之外的属性是默认值。如果我们不在类中编写任何构造函数定义,它将无法在实例化中获得新值。构造函数/方法将在我们实例化该类时被激发,它将根据我们的需要或需要构造所有内容

    class Rabbit{
      legs= 4

      constructor(lg){
         this.legs= lg
      }
    }
const r = new Rabbit(2);//we override its value 4 to 2


是的,我知道我们只能通过使用构造函数来动态使用属性。在第一个示例中,我们还可以在构造函数中写入默认值,而不在类之外使用属性分支<代码>类Rabbit{constructor(lg=4){this.legs=lg}如果我们不提供任何带有实例化的参数,它将使用默认值。如果它在类中有用途,您将在构造函数中使用它;如果我们不需要动态地设置属性,我试图找到答案来解释是在构造函数外还是在构造函数内编写属性的区别。只要我从另一个回复中看到,唯一的区别是关于Babel的,不是吗?区别很明显,如果你不想覆盖它的默认值,就不需要在构造函数中赋值。我知道如果我不想覆盖属性的默认值,我可以用两种方式来做。我试图找出这两种情况是否有任何区别(JavaScript是如何使用它的)
 class Rabbit{
   legs = 4;
 }
    class Rabbit{
      legs= 4

      constructor(lg){
         this.legs= lg
      }
    }
const r = new Rabbit(2);//we override its value 4 to 2
    class Rabbit{
       legs = 4;
     }
const r = new Rabbit(3);//we don't override its value 4 to 3,it will be 4