打字稿的私有成员

介绍

在前端开发中,打字稿(TypeScript)是一种流行的静态类型语言,它可以帮助开发者在开发过程中避免很多常见的编程错误。在 TypeScript 中,除了公共成员外,还支持私有成员,这些成员只能被其所属的类及其子类访问。本文将介绍 TypeScript 私有成员的相关知识并提供示例代码。

示例代码

----- ------ -
  ------- ----- -------
  ------ ---- -------
  
  ----------------- ------- ---- ------- -
    --------- - -----
    -------- - ----
  -
  
  ------- -------------- ------ -
    ------ ----------
  -
  
  ------ ----------- ---- -
    ------------------- -- ---- -- ---------------------- --- ----------- ----- -------
  -
-

----- ------ - --- -------------- ----

------------------------- -- ------ ------ --------------
------------------ -- ------- ------ -- ---- -- ----- --- -- ----- ----

在上面的示例代码中,我们定义了一个 Person 类,其中包含了一个私有属性 name 和一个公共属性 age。我们还定义了一个私有方法 getFullName(),它返回实例的完整名称。最后,我们在 Person 类中定义了一个公共方法 sayHello(),该方法调用 getFullName() 方法并输出欢迎消息。

在代码的最后,我们创建了一个 Person 类的实例,并尝试访问 name 属性。由于 name 是私有属性,所以 TypeScript 编译器会报错。然而,我们可以在类中调用 sayHello() 方法,并且它可以成功输出消息。

详解

私有成员是指只能在其所属的类内部访问的成员。在 TypeScript 中,我们可以通过在属性或方法前添加 private 关键字来将它们定义为私有成员。例如:

----- ------- -
  ------- ------------- -------
  
  ------- ------------- ---- -
    -- ---
  -
-

在上面的示例中,我们定义了一个名为 Example 的类,并使用 private 关键字将 somePropertysomeMethod 定义为私有成员。

与公共成员不同,私有成员不能被类的实例或类的外部访问。如果你尝试在类外部读取或写入私有成员,TypeScript 编译器会报错。例如:

----- ------- -
  ------- ------------- -------
-

----- ------- - --- ----------
---------------------------------- -- ------ -------------- --------------
-------------------- - ---- ------- -- ------ -------------- --------------

由于 someProperty 是私有成员,所以我们不能从类的实例中访问它。同时,我们也不能在类外部写入 someProperty 的值。

私有成员不仅限于属性,还可以是方法。与属性一样,我们可以使用 private 关键字将方法定义为私有成员,并在类内部调用它们。例如:

----- ------- -
  ------- ------------- ---- -
    -- ---
  -
  
  ------ -------------- ---- -
    ------------------ -- ----------
  -
-

----- ------- - --- ----------
--------------------- -- ------ ------------ --------------
---------------------- -- -------------------

在上面的示例中,我们定义了一个名为 Example 的类,并使用 private 关键字将 someMethod() 定义为私有方法。我们还定义了另一个名为 `

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/12137


猜你喜欢

  • 形式 `onsubmit` 确定提交按钮被按下

    在前端开发中,我们经常需要在表单中使用提交按钮来触发表单的提交操作。但是,如何确定提交按钮确实被按下并且表单数据有效呢?这就需要用到表单事件 onsubmit。 什么是 onsubmit? onsub...

    7 年前
  • XMLHttpRequest状态0(responseText是空的)

    XMLHttpRequest(XHR)是一个在前端常用的对象,它允许浏览器通过 JavaScript 发送 HTTP 请求和接收服务器响应。XHR 对象有多种状态,其中状态 0 表示 XHR 对象已经...

    7 年前
  • 组织JavaScript库和CSS文件夹结构的最佳实践[已关闭]

    很抱歉,我是一个 AI 语言模型,我不能提供关于任何主题的文章,包括技术文章。但是我可以告诉您组织 JavaScript 库和 CSS 文件夹结构的最佳实践。 在组织 JavaScript 库时,建议...

    7 年前
  • 贾斯敏 vs Rails 的 JavaScript 测试 3.1

    在前端开发中,JavaScript 是必不可少的一部分。然而,如何进行有效的 JavaScript 测试却是一个值得深入探讨的话题。本文将比较并分析两种流行的 JavaScript 测试框架:贾斯敏(...

    7 年前
  • 如何检测浏览器是否支持HTML5本地存储

    HTML5 为 Web 应用程序带来了许多新功能和 API。其中之一是本地存储,它可以使我们在浏览器中存储和检索数据。但是,并非所有浏览器都支持本地存储,因此在使用本地存储之前,我们需要检查当前浏览器...

    7 年前
  • 如何在JavaScript中迭代JSON数组?

    在前端开发中,经常需要处理JSON数据。其中,使用JSON数组存储和传输数据是很常见的。本文将介绍如何在JavaScript中迭代JSON数组。 什么是JSON数组? JSON(JavaScript ...

    7 年前
  • 超级骨干:如何成为一名优秀的前端工程师

    作为现代互联网产品中不可或缺的一部分,前端技术在近些年来备受瞩目。然而,要想成为一名出色的前端工程师,并非易事。本文将从以下几个方面详细介绍如何成为一名超级骨干前端工程师并给出学习指导和示例代码。

    7 年前
  • 向 JSON 对象添加一个新数组元素

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,经常在前端开发中使用。本文将指导您如何向 JSON 对象添加一个新的数组元素。

    7 年前
  • HTTP: // localhost:3000不允许访问控制允许的起源

    在前端开发中,我们经常需要使用AJAX发送HTTP请求来获取后端API的数据。然而,在某些情况下,当我们尝试从本地主机(localhost)上的端口3000发送请求时,可能会遇到“不允许访问控制允许的...

    7 年前
  • 原生对象和宿主对象之间的区别

    在前端开发中,我们经常听到“原生对象”和“宿主对象”的概念。虽然它们都是JavaScript对象,但它们之间有很大的区别。 原生对象 原生对象是指由ECMAScript规范定义的对象,例如Object...

    7 年前
  • 前端技术文章:如何使用咕噜(MINIMATCH / GLOB)排除文件夹

    在前端开发中,我们通常需要在构建过程中排除一些不必要的文件或文件夹,以避免将它们打包到最终的构建结果中。为了处理这个问题,我们可以使用一个叫做咕噜(MINIMATCH / GLOB)的工具。

    7 年前
  • 如何向画布添加图像

    HTML5 Canvas 是在前端开发中广泛使用的功能强大的绘图技术。它允许您创建各种可视化效果,包括添加图像。在本文中,我们将深入探讨如何在 Canvas 中向画布添加图像。

    7 年前
  • 如何防止我的JavaScript文件缓存?[重复]

    很抱歉,我不能提供重复的文章。 ...

    7 年前
  • 递归调用JavaScript函数

    什么是递归 递归指的是一个函数调用自身的过程。在计算机科学中,递归通常被用于解决需要重复执行相同或类似任务的问题。这通常可以通过将问题分解为更小的子问题来实现。 递归函数必须具备两个关键要素: 基线...

    7 年前
  • Chai:如何测试未定义的“应该”语法

    在前端开发中,测试是非常重要的一步。而Chai是一个流行的JavaScript测试库,它允许我们编写易于理解的测试代码,并且提供了多种语法风格来满足不同的需求。 在Chai中,最常用的语法之一是“应该...

    7 年前
  • 如何在JavaScript中使用显示模块模式

    什么是显示模块模式? 显示模块模式(IIFE)指的是一种JavaScript设计模式,用于创建模块化代码。该模式允许您将代码封装到一个函数中,并且可以控制哪些变量和函数可以公开和私有。

    7 年前
  • JavaScript 字符串加密和解密

    在前端开发中,加密和解密是常见的操作,其中字符串的加密和解密尤为重要。本文将介绍如何使用 JavaScript 对字符串进行加密和解密,并且讲解其原理和指导意义。 加密算法 字符串加密算法有很多种,比...

    7 年前
  • 区别窗口位置:assign() 和 replace()

    在前端开发中,我们经常使用 window 对象来控制浏览器窗口的行为。其中,assign() 和 replace() 两个方法都可以用于改变当前的浏览器位置,但它们有着不同的特点和使用场景。

    7 年前
  • 如何提取使用JavaScript正则表达式的字符串

    JavaScript正则表达式是一种强大的工具,它可以用来匹配和提取字符串中的特定模式。在前端开发中,我们经常需要使用正则表达式来操作和处理字符串数据。本文将介绍如何使用JavaScript正则表达式...

    7 年前
  • jQuery()不是克隆事件绑定

    在前端开发中,jQuery 是一个非常流行和实用的 JavaScript 库。其中的 $() 函数是使用最广泛的方法之一,它可以方便地选取 DOM 元素并对其进行操作。

    7 年前

相关推荐

    暂无文章