男女做爽爽爽网站-男女做羞羞高清-男女做爰高清无遮挡免费视频-男女做爰猛烈-男女做爰猛烈吃奶啪啪喷水网站-内射白浆一区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

分不清Boolean和boolean,我被同事diss了!

admin
2025年4月11日 16:43 本文熱度 206

背景

這幾天寫代碼,遇到一個不確定的知識點:我在vue的props中如何給一個屬性定義小寫的bolean,代碼就會報錯

但是大寫的Bolean就沒問題

由于我在其他地方我看大小寫都可以,有點疑惑,于是想去請教一下同事。然而,沒想到同事上來就diss我:

這么基礎的知識你都不清楚?這兩個根本就不是一個東西!

我有點不開心,想反駁一下:

這兩個不都是描述類型的東西嗎?我給你看其他地方的代碼,這兩個都是可以混用的!

同事有點不耐煩,說道:大姐,boolean是TS中的類型聲明,Boolean是JavaScript 的構造函數,根本不是一個東西吧!

行吧,我也剛入門不久,確實不了解這個東西,只能強忍委屈,對同事說了聲謝謝,我知道了!

然后,我好好的學習了一下Boolean和boolean的知識,終于搞明白他們的區別了。

Boolean和boolean

本質區別

同事說的很對,他們兩個的本質區別就是一個是JavaScript語法,一個是TypeScript語法,這意味著非TypeScript項目是不存在boolean這個東西的。

Boolean 是 JavaScript 的構造函數

Boolean 是 JavaScript 中的內置構造函數,用于布爾值的類型轉換或創建布爾對象。

js
typeof Boolean; // "function"

boolean 是 TypeScript 的基本類型

  • 如果使用了 TypeScript,boolean 是 TypeScript 中的基本類型,用于靜態類型檢查。
  • 在 JavaScript 的運行時上下文中,boolean 并不存在,僅作為 TypeScript 的靜態檢查標識。
js
typeof boolean; // ReferenceError: boolean is not defined

TS中作為類型的Boolean和boolean

在TypeScript中,Boolean和boolean都可以用于表示布爾類型

js
export interface ActionProps { checkStatus: Boolean } export interface RefundProps { visible: boolean }

但是,他們存在一些區別

boolean

  • boolean 是 TypeScript 的基本類型,用于定義布爾值。
  • 它只能表示 truefalse。
  • 編譯后 boolean 不會存在于 JavaScript 中,因為它僅用于靜態類型檢查。
js
//typescript let isActive: boolean; // 只能是 true 或 false isActive = true;       // 正確 isActive = false;      // 正確 isActive = new Boolean(true); // 錯誤,不能賦值為 Boolean 對象

Boolean

  • Boolean 是 JavaScript 的內置構造函數,用于將值顯式轉換為布爾值或創建布爾對象(Boolean 對象)。
  • 它是一個引用類型,返回的是一個布爾對象,而不是基本的布爾值。
  • 在 TypeScript 中, Boolean 表示構造函數類型,而不是基本的布爾值類型。

js
//typescript let isActive: Boolean; // 類型是 Boolean 對象 isActive = new Boolean(false); // 正確,賦值為 Boolean 對象 isActive = true; // 正確,基本布爾值也可以兼容

關鍵區別

特性booleanBoolean
定義TypeScript 的基本類型JavaScript 的構造函數
值類型只能是 truefalse是一個布爾對象
推薦使用場景用于定義基本布爾值類型很少用,除非需要顯式構造布爾對象
運行時行為不存在,只在編譯時有效在運行時是 JavaScript 的構造函數
性能高效,直接操作布爾值對象包裝,性能較差

為什么盡量避免使用 Boolean ?

類型行為不一致Boolean 是對象類型,而不是基本值類型。這會在邏輯運算中導致混淆:

js
const flag: Boolean = new Boolean(false); if (flag) {  console.log("This will run!"); // 因為對象始終為 truthy }

性能開銷更大Boolean 會創建對象,而 boolean 是直接操作基本類型。

vue中的Boolean與boolean

Vue 的運行時框架無法識別 boolean 類型,它依賴的是 JavaScript 的內置構造函數(如 Boolean、String、Number 等)來檢查和處理 props 類型。

因此,props的Type只能是BooleanStringNumber

但是如果vue中開啟了ts語法,就可以使用boolean 表示類型了

js
<script lang="ts" setup>   interface IProps {    photoImages?: string[],    isEdit?: boolean } const props = withDefaults(defineProps<IProps>(), {    photoImages: () => [],    isEdit: true }) </script>

作者:快樂就是哈哈哈
鏈接:https://juejin.cn/post/7439576043223203892
來源:稀土掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

該文章在 2025/4/12 18:00:23 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产精品无码午夜激情 | 亚洲欧美自拍偷拍第一页 | 久久麻豆精亚洲av品国产小说 | 国产剧情在线视频 | 97色伦图片97综合影院 | 久久久www免费人成精品 | 亚洲综合久久一区二区不卡 | 亚洲精品国自产拍在线观看 | aa区一区二区三无码精片 | 亚州黄色网址 | 国产激情一区二区三区在线 | 伊人久久综在合线亚洲91 | 日本三级日产三级国产三级 | 无码av啪啪一区二区三区 | 国色天香社区在线最新 | 日本成人| 国产成人ⅤA视频永久入口 国产成人aⅴ大片大片 | 国产99视频精品免费视频美女 | www久久囤产精品 | 高清免费观看 | 九九热精品免费观看 | 国产日韩久久免费影院 | 国产精品亚洲欧美高清 | 日韩精品AV一二三区在线 | 精品一二三区久久AAA片 | 九色免费视频 | 日本精品无码一区二区三区久久久 | 日本六十路无码熟妇交尾 | 欧美网站观看九色腾高清 | 久久久久久毛片免费观看 | 亚洲丰满爆乳熟女在线观看 | 国产三级直播在线播放直播 | 日本理论电线在2024鲁大师 | 99久久精品免费国产一区二区三区 | 波多野结衣av高清中文字幕 | 亚洲精品久久精品亚洲精品 | 国产久免费热视频在线观看 | 无码熟妇人妻av在线影片 | 人妻体体内射精一区二区 | 国产成人精品综合久久久软件 | 国产香蕉在线观看 |