为什么'abc'.hasOwnProperty('length')== true

时间:2018-02-15 23:09:18

标签: javascript prototype prototypal-inheritance

在这种情况下,请帮助我理解原型继承:

为什么'abc'.hasOwnProperty('length')返回true但'length' in 'abc'会引发错误?

1 个答案:

答案 0 :(得分:8)

表达式with open('automl.pkl', 'wb') as output: pickle.dump(automl,output) 被JavaScript解释为

import org.scalatest.FunSuite

class SangriaDnbIACDataPipelineTest extends FunSuite {

  test("SangriaDnbIACDataPipeline") {
    val args =

每个(capital-S)String实例都有自己的'abc'.hasOwnProperty('length')属性,它给出了字符串的长度。

JavaScript(小写s)字符串实例是基元,根本没有任何属性。使用字符串原语作为(new String('abc')).hasOwnProperty('length') 运算符的左侧会导致字符串原语隐式包装在String对象中(至少在概念上;运行时不会真正必须实例化一个瞬态对象),这就是length属性的来源。

表达式.抛出异常,因为原语 .length没有隐式提升到具有length in 'abc'运算符的String实例。因此,由于原语不能具有任何属性,并且该概念没有意义,因此它是一个例外。

相关问题