javascript中new关键字的本质是什么

简介: javascript中new关键字的本质是什么

new的时候。

(补充:最近在看es6的一些知识,有幸看到了关于new关键字的一些知识点,特在此补充。希望对您有所帮助。)

内容如下:



javascri函数有两个不同的内部方法:[ [ Call ] ]     和 [ [ Construct ] ]


(1)new关键字调用函数时,

        ①执行的是 [ [ Construct ] ]方法(创建一个通常被称作实例的新对象)

        ②执行函数体,也就是函数中的语句

        ③将this绑定到这个实例上


(2)不通过new关键字调用函数时,

        那么则执行方法,然后直接执行代码中的函数体


(3)构造函数的定义:具有 [ [ Construct ] ]方法的函数统称为构造函数

new的时候做四件事:



①新产生一个对象

②让this指向新产生的对象

③执行这个函数

④会返回这个新创建的对象。


相关文章
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
10月前
|
JavaScript 前端开发 安全
ECMAScript 6(以下简称 ES6)的出现为 JavaScript 带来了许多新的特性和改进,其中 let 和 const 是两个非常重要的关键字。
ES6 引入了 `let` 和 `const` 关键字,为 JavaScript 的变量管理带来了革新。`let` 提供了块级作用域和暂存死区特性,避免变量污染,增强代码可读性和安全性;`const` 用于声明不可重新赋值的常量,但允许对象和数组的内部修改。两者在循环、函数内部及复杂项目中广泛应用,有助于实现不可变数据结构,提升代码质量。
127 5
|
10月前
|
设计模式 JavaScript 前端开发
js中new和object.creat区别
【10月更文挑战第29天】`new` 关键字和 `Object.create()` 方法在创建对象的方式、原型链继承、属性初始化以及适用场景等方面都存在差异。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象。
|
10月前
|
前端开发 JavaScript 开发者
除了 async/await 关键字,还有哪些方式可以在 JavaScript 中实现异步编程?
【10月更文挑战第30天】这些异步编程方式在不同的场景和需求下各有优劣,开发者可以根据具体的项目情况选择合适的方式来实现异步编程,以达到高效、可读和易于维护的代码效果。
|
12月前
|
JavaScript 前端开发
JavaScript this 关键字
JavaScript this 关键字
63 2
|
12月前
|
JavaScript 前端开发 Java
JavaScript 保留关键字
JavaScript 保留关键字
77 2
|
JavaScript 前端开发
JavaScript 语句标识符(关键字)
【8月更文挑战第29天】
87 5
|
JavaScript 前端开发
|
JavaScript 前端开发 开发者
JavaScript中的const关键字解析
JavaScript中的const关键字解析
231 2
|
JavaScript 前端开发
JavaScript变量命名规则及关键字详解
JavaScript变量命名规则及关键字详解
256 1