JavaScript 中的 null 和 undefined 有什麼不同?

讓我們先談談它們的相似之處。 null 和 undefined 都是 JavaScript 的原始類型。 undefined 的意思是變數已聲明,但尚未賦值。 let age // age 是 undefined let age = null // age 是 null 注意:訪問尚未聲明的變數會引發 ReferenceError: <variable> is not defined 錯誤,但這並不意味著它是 undefined。 如何檢查變數是否為 null?使用比較運算符,例如 age === null。 對於 undefined 也是一樣:age === undefined。 在這兩種情況下,你都可以進行檢查: if (!age) { } 這將同時匹配 null 和 undefined。 你也可以使用 typeof 運算符: let age typeof age //'undefined' 儘管 null 被評估為一個對象,但它實際上是一個原始類型: let age = null typeof age //'object'

JavaScript 類型

有些時候你可能會聽說 JS 是一種無類型的語言,但這是不正確的。確實,你可以將各種不同的類型賦值給變量,但 JavaScript 是有類型的。特別是,它提供了原始類型和對象類型。 原始類型 數字 字符串 模板字面量 布林值 null undefined 對象類型 如何查找變量的類型 原始類型 原始類型有: 數字 字符串 布林值 符號 還有兩種特殊類型: null undefined 我們將在下一節中詳細介紹它們。 數字 在內部,JavaScript 只有一種數字類型:每個數字都是浮點數。 數字字面量是在源代碼中表示的數字,根據它的寫法不同,它可以是整數字面量或浮點數字面量。 整數: 10 5354576767321 0xCC // 十六進制 浮點數: 3.14 .1234 5.2e4 //5.2 \* 10^4 字符串 字符串類型是一個字符序列。它在源代碼中被定義為字符串字面量,該字面量用引號或雙引號括起來。 'A string' "Another string" 字符串可以跨多行使用反斜杠: "A \ string" 字符串可以包含轉義序列,在打印字符串時可以被解釋,比如使用 \n 創建新行。當你需要在被引號括起來的字符串中輸入引號時,反斜杠也是很有用的,以防止被解釋為結束引號的字符: 'I\'m a developer' 字符串可以使用 + 運算符拼接: "A " + "string" 模板字面量 在 ES2015 中引入的模板字面量是一種更強大的定義字符串的方式。 const a\_string = `something` 你可以執行字符串替換,將任何 JS 表達式的結果嵌入其中:...

JavaScript等號運算子

學習 JavaScript 等號運算子的基礎知識 這些運算子接受兩個值並返回布林值: == 檢查是否相等 != 檢查是否不相等 === 檢查是否嚴格相等 !== 檢查是否嚴格不相等 現在來談談我們所謂的“嚴格”。在非嚴格檢查中,第二個運算元在進行比較之前會被轉換為第一個運算元的類型。嚴格模式則會阻止這種轉換。 舉例如下: const a = true a == true // true a === true // true 1 == 1 // true 1 == '1' // true 1 === 1 // true 1 === '1' // false 無法檢查對象的相等性:兩個對象永遠不相等。唯一可能為真的情況是兩個變量引用了同一個對象。 還有一些需要注意的特殊情況:NaN 始終與 NaN 不相等。 NaN == NaN // false 在非嚴格模式下,null 和 undefined 的值是相等的: null == undefined // true null === undefined // false

SQL介紹

SQL(Structured Query Language)是我們用來與數據庫管理系統(DBMS)進行交互的語言。 在我們介紹了最流行的概念性數據模型,實體關係(ER),以及最受歡迎的邏輯數據模型(關聯模型)之後,是時候介紹SQL了。 SQL(Structured Query Language)是我們用來與數據庫管理系統(DBMS)進行交互的語言。 正如其名所示,它不是一種編程語言,而是一種查詢語言,後來發展成為一種用於執行比僅執行查詢更高級操作的數據庫接口。 我說“發展”,但實際上SQL一直在不斷發展。它是一個標準,最初於1986年發布,然後在1989年、1992年、1999年、2003年、2006年、2008年、2011年、2016年和寫作時最新版本的2019年進行了更新。 SQL在許多流行的DBMS中得到實現:PostgreSQL、MySQL、Oracle、SQLite、MicroSoft SQL Server等等。每個不同的數據庫實現標準,或者實現特定版本,並在其上添加自定義功能,以簡化創建查詢或添加特定功能。 除非另有說明,每次我談到SQL時,我都是談論SQL標準,而不是特定的實現。 SQL是一個非常廣泛的主題。我在不同的博客文章中涵蓋了許多其內容,包括: SQL,創建表 SQL,向表中添加數據 SQL,如何使用SELECT SQL,如何更新表結構 SQL,如何更新數據 SQL,如何刪除數據和表 SQL,處理空單元格 SQL,唯一鍵和主鍵 SQL 視圖 SQL 聯接

如何在C中使用NULL

C語言中使用空指針的簡要指南 許多編程語言都使用了「null」的概念。 Go 語言使用「nil」,JavaScript 使用「null」,Python 使用「None」等等。 而在C語言中,則使用「NULL」。 然而,C語言中的NULL與其他語言使用方式有所不同。在C語言中,NULL僅用於標識一個空指針。 當我們初始化一個指針時,有時候我們並不知道它要指向什麼。這時NULL就派上用場了: int *p_some_variable = NULL; NULL並不是默認可用的:你需要包含stdio.h標頭文件才能使用它(或者如果你更喜歡的話,可以使用stddef.h): #include <stdio.h> int main(void) { int *p_some_variable = NULL; } 否則,C編譯器會報錯: hello.c:3:26: error: use of undeclared identifier 'NULL' int *p_some_variable = NULL; ^ 1 error generated. 你可以通過將指針與NULL進行比較來檢查它是否為空指針: #include <stdio.h> int main(void) { int *p_some_variable = NULL; if (p_some_variable == NULL) { printf("equal"); } } 在實際應用中,NULL是一個等於0或 "\0"的常數。 這就是為什麼你可以使用以下方式將字符串設置為NULL: char *a_string = '\0';