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

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

主站蜘蛛池模板: 无码精品福利一区二区三区 | 高清精品国内视频 | 欧美XXXXX高潮喷水麻豆 | 久99久精品视频免费观看v | 亚洲AV成人无码人在线观看堂 | 久久乐国产综合亚洲精品 | 2024国自产拍精品天天更新 | 丰满多毛少妇做爰视频 | 精品一区二区在线视频 | 黄色一级视频在线播放 | 在线一区二区三区亚洲 | 国产三级日产三级日本三级 | 亚洲色无码A片一区二区麻豆 | 久久精品国产亚洲精品 | 欧美精品亚洲一区二区在线播放 | 国产1区精品 | 在线免费观看无码日本视频 | 最好看的韩国日本在线观看 | 国产丝袜视频 | 中文字幕一区二区三 | 亚洲黄色中文字幕免费在线观 | 欧美偷拍色图 | 白丝爆浆18禁一区二区三 | 97久久超碰成人精品网站 | 丁香久久婷婷综合激情欧美 | 麻豆www久久国产精品 | 精品国产hd | 国产午睡沙发客厅25分钟 | 精品伊人久久久久网站 | 欧美在线观看日韩欧美在线观看 | 地址一地址二地址三 | 国产精品免费一区二区区 | 成人网在线看 | 色偷偷色偷偷色偷偷在线视频 | 欧美激情视频二区三区 | 97超碰伊人久久精品欧美 | 久久精品国产一区二区三区四区 | 高清不卡二卡三卡四卡无卡 | 免费看黄在线观看网站 | 亚洲自偷自拍另类图片 | 精品日本一区色网 |