JavaScript 中有兩種類型轉換:隱式類型轉換和顯式類型轉換。 隱式類型轉換指 JavaScript 在運行時自動將一種類型轉換為另一種類型。例如,在數學運算中,JavaScript 會將字元串轉換為數字。 顯式類型轉換指在代碼中使用內置函數或全局對象將一種類型顯式地轉換為另一種類型。例如,使 ...
JavaScript 中有兩種類型轉換:隱式類型轉換和顯式類型轉換。
隱式類型轉換指 JavaScript 在運行時自動將一種類型轉換為另一種類型。例如,在數學運算中,JavaScript 會將字元串轉換為數字。
顯式類型轉換指在代碼中使用內置函數或全局對象將一種類型顯式地轉換為另一種類型。例如,使用 Number() 函數將字元串轉換為數字,使用 String() 函數將數字轉換為字元串。
另外,JavaScript 還提供了一些常用的類型轉換函數,如 parseInt() 和 parseFloat() 用於將字元串轉換為整數和浮點數。
還有一些其它的方法來進行類型轉換,如:
- 使用
+
運算符將字元串轉換為數字 - 使用
valueOf()
方法將對象轉換為原始類型 - 使用
toString()
方法將數字、布爾值、對象轉換為字元串
需要註意的是,在 JavaScript 中使用 == 運算符進行比較時會發生隱式類型轉換,而使用 === 運算符進行比較時不會發生類型轉換,所以在比較值的相等性時建議使用 === 運算符。
需要註意的是,JavaScript 的類型轉換有一些需要特別註意的地方:
- 當一個值被賦值給另一個變數時,它會被隱式地轉換為該變數的數據類型。
- 當一個值用於布爾運算時,它會被隱式地轉換為布爾值。
- 當一個值用於數學運算時,它會被隱式地轉換為數字。
- 當一個值被作為字元串連接時,它會被隱式地轉換為字元串。
- 當一個值被作為對象的屬性時,它會被隱式地轉換為字元串。
以下是一些 JavaScript 類型轉換的示例:
1、隱式類型轉換:
let num = "42";
console.log(num + 2); // "422"
2、顯式類型轉換:
let num = "42";
console.log(Number(num) + 2); // 44
3、parseInt() 和 parseFloat() 函數轉換:
console.log(parseInt("42", 10)); // 42
console.log(parseFloat("3.14")); // 3.14
4、toString() 函數轉換:
console.log((42).toString()); // "42"
console.log((true).toString()); // "true"
5、布爾值轉換:
console.log(Boolean(0)); // false
console.log(Boolean("hello")); // true
6、運算符轉換:
console.log(+"42") // 42
7、使用 Object()
函數將原始類型轉換為對象:
console.log(typeof Object(42)); // object
8、使用 Symbol()
函數將字元串轉換為 Symbol 類型:
console.log(typeof Symbol("hello")); // symbol
9、使用 JSON.parse()
和 JSON.stringify()
函數將字元串轉換為對象和對象轉換為字元串:
let jsonString = '{"name":"John","age":30}';
let obj = JSON.parse(jsonString);
console.log(obj); // { name: 'John', age: 30 }
let jsonString2 = JSON.stringify(obj);
console.log(jsonString2); // '{"name":"John","age":30}'
需要註意的是,上述類型轉換方式需要滿足一定的條件,需要註意數據的合法性,如 JSON.parse() 和 JSON.stringify() 方法只能解析和序列化 JSON 格式的字元串。
還有一些需要註意的地方:
-
當使用 parseInt() 和 parseFloat() 方法將字元串轉換為數字時,如果字元串不符合數字格式,則會返回 NaN,因此需要使用 isNaN() 函數判斷轉換結果是否為 NaN。
-
當使用 JSON.parse() 方法將字元串轉換為對象時,如果字元串不符合 JSON 格式,則會拋出錯誤。
-
當使用
Symbol()
函數將字元串轉換為 Symbol 類型時,在內部存儲的是一個符號,不是字元串。因此,當比較兩個 Symbol 類型的值時,它們只有在記憶體中的地址相同時才相等。 -
當使用
Object()
函數將原始類型轉換為對象時,會創建一個包裝對象。因此,在使用包裝對象時需要註意包裝對象和原始值之間的差異。
在使用類型轉換時,需要根據實際需求進行選擇,並且要註意隱式類型轉換的影響。
-
2023-01-24 一、搜索查找類命令 1、find命令 (1)find -name "*.txt" (功能描述:查找當前目錄下包含“.txt”的文件) 2、grep過濾查找及“|”管道符 管道符,“|”,表示將前一個命令的處理結果輸出傳遞給後面的命令處理 (1)ll | grep -n test ...
-
前言 對於一個懶懶的,不想寫高精的人(就是我),每次都會遭遇到答案爆$long$ $long$的危險 比如說這道題: 題目傳送門 最後的$23-25$的兩個點,$long$ $long$甚至$unsigned$ $long$ $long$都無法滿足,難道真的要手打高精度了嗎? 不,我們有$\_$$\ ...
-
2023-01-24 一、CentOS中的時間日期類命令 1、date顯示當前時間 (1)date (功能描述:顯示當前時間) (2)date + %Y (功能描述:顯示當前年份) (3)date + %m (功能描述:顯示當前月份) (4)date + %d (功能描述:顯示當前是哪一天) (5) ...
-
2023-01-24 一、幫助命令 1、基本語法 man[命令或配置文件] 功能描述:獲得幫助信息 2、顯示說明 (1)NAME:命令的名稱和單行描述 (2)SYNOPSIS:怎樣使用命令 (3)DESCRIPTION:命令功能的深入討論 (4)EXAMPLES:怎樣使用命令的例子 (5)SEE A ...
-
這篇文章主要關註服務發現,會討論基於DNS、VIP、ZooKeeper以及消息匯流排的服務發現機制,研究出在服務發現需要AP還是CP。 ...
-
測試網站是本人學校,費話不多說下麵開始 首先直接導庫,過程中需要時間戳,rsa加密 import requests import re import time from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 ...
-
2023-01-24 一、NoSQL資料庫 1、NoSQL資料庫的簡介 NoSQL(NoSQL=Not Only SQL),即“不僅僅是SQL”,泛指非關係型的資料庫。NosQL不依賴業務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了資料庫的擴展能力。 (1)不遵循SQL標準 ...
-
1、首先是adb版本需要新的,老的adb不支持無線連接,如:“adb pair 192.168.3.x:xxxxx”不支持pair這個參數,這個參數表示驗證配對碼!!!新的adb才支持。 無法識別pair參數 2、支持無線調試的手機需要和用於調試的電腦在同一個區域網下。 3、通過adb連接: 【1】 ...