无码国模产在线观看免费-无码国内精品久久人妻-无码国内精品久久综合88-无码国内精品人妻少妇-无码国内精品人妻少妇蜜桃视频-无码国语中文在线播放

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

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

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

背景

這幾天寫代碼,遇到一個不確定的知識點:我在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 的內置構造函數(如 BooleanStringNumber 等)來檢查和處理 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

主站蜘蛛池模板: h片国产在线观看播放免费 h入口成人精品人伦一区二区三区蜜 | 成人自偷拍一区二区 | 狠狠色噜噜狠狠狠狠2022 | 亚洲色婷婷综合久久一区二区三区 | 国产午夜福利视频一区二区32页 | 国产av无码专区亚洲av琪琪 | 国产亚洲一欧美一区二区三区 | 国产欧美一区二区精品久久久 | av狼友国产在线观看 | 国产精品成人一区二区三区 | 日日夜夜操伊人 日韩国产一区 | 日韩黄频| 91精选日韩综合永久入口 | 欧洲特级做A爰片久久毛片A片 | 丁香五月天综合缴情网 | 久久久久国产免费 | 成人av在线大片 | 69久久精品无码一区二区无码奇幻 | www国产无套 | 四虎免费播放经典国产 | 久久天天躁狠狠躁夜夜躁 | 91婷婷精品国产综合久 | 精品视频在线观看一区二区 | 亚洲欧美一区二区三区不卡 | 久久人妻夜夜做天天爽 | 夜鲁夜鲁夜鲁视频在线观看 | 国产午睡沙发系列大全 | 国产探花在线一区二区 | 日本欧美日韩中文字幕 | 国产日韩精品一区二区三区在线观 | 丰满人妻中伦妇伦精品久久 | 国产av影片麻豆精品传媒 | 九一福利 | 精品视频一区二区三区中 | 九色综合亚洲色综合网 | 亚洲一线二线三线品牌精华液久久久 | 人妻无码vs中文字 | 国产亚洲精品精华液 | 国产精品伦理一区二区三区久久 | 亚洲制服丝袜中文字幕在线 | 精品人妻无码 |