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实现
|
JavaScript 前端开发 安全
ECMAScript 6(以下简称 ES6)的出现为 JavaScript 带来了许多新的特性和改进,其中 let 和 const 是两个非常重要的关键字。
ES6 引入了 `let` 和 `const` 关键字,为 JavaScript 的变量管理带来了革新。`let` 提供了块级作用域和暂存死区特性,避免变量污染,增强代码可读性和安全性;`const` 用于声明不可重新赋值的常量,但允许对象和数组的内部修改。两者在循环、函数内部及复杂项目中广泛应用,有助于实现不可变数据结构,提升代码质量。
286 5
|
设计模式 JavaScript 前端开发
js中new和object.creat区别
【10月更文挑战第29天】`new` 关键字和 `Object.create()` 方法在创建对象的方式、原型链继承、属性初始化以及适用场景等方面都存在差异。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象。
|
前端开发 JavaScript 开发者
除了 async/await 关键字,还有哪些方式可以在 JavaScript 中实现异步编程?
【10月更文挑战第30天】这些异步编程方式在不同的场景和需求下各有优劣,开发者可以根据具体的项目情况选择合适的方式来实现异步编程,以达到高效、可读和易于维护的代码效果。
|
JavaScript 前端开发
JavaScript this 关键字
JavaScript this 关键字
137 2
|
JavaScript 前端开发 Java
JavaScript 保留关键字
JavaScript 保留关键字
176 2
|
JavaScript 前端开发
JavaScript 语句标识符(关键字)
【8月更文挑战第29天】
285 5
|
JavaScript 前端开发 开发者
JavaScript中的const关键字解析
JavaScript中的const关键字解析
534 2
|
JavaScript 前端开发
JavaScript变量命名规则及关键字详解
JavaScript变量命名规则及关键字详解
474 1
|
自然语言处理 JavaScript 前端开发
在JavaScript中,this关键字的行为可能会因函数的调用方式而异
【6月更文挑战第15天】JavaScript的`this`根据调用方式变化:非严格模式下直接调用时指向全局对象(浏览器为window),严格模式下为undefined。作为对象方法时,`this`指对象本身。用`new`调用构造函数时,`this`指新实例。`call`,`apply`,`bind`可显式设定`this`值。箭头函数和绑定方法有助于管理复杂场景中的`this`行为。
193 3