首頁 >web前端 >前端問答 >es6中有多少種原始資料類型

es6中有多少種原始資料類型

青灯夜游
青灯夜游原創
2022-05-05 18:43:313566瀏覽

有6種原始資料類型:1、Null類型,表示一個「空」值,即不存在任何值;2、Undefined類型,表示未定義;3、Number類型,表示數字(整數、浮動數等);4、String類型,一段以單引號或雙引號包裹的文字;5、Symbol類型等。

es6中有多少種原始資料類型

本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

es6中有9種資料類型,它們有可以分成兩類:

  • #原始資料型別(6種):字串(String)、數字(Number )、布林(Boolean)、空(Null)、未定義(Undefined)、Symbol;

  • #引用資料型態(3種):物件(Object)、陣列(Array)、函數(Function)。

下面就來聊聊6種原始資料型別。

##boolean布林值,邏輯運算的值Symbol表示獨一無二的值

1、Null 類型

Null 是一個只有一個值的特殊資料類型,表示一個「空」值,即不存在任何值,什麼都沒有,用來定義空物件指標。

使用typeof 運算子來檢視Null 的型別,會發現Null 的型別為Object

var a = null;
console.log(typeof a);

es6中有多少種原始資料類型

說明Null 其實使用屬於Object(物件)的一個特殊值。因此透過將變數賦值為 Null 我們可以建立一個空的物件。

2、Undefined 類型

Undefined 也是只有一個值的特殊資料類型,表示未定義。當我們宣告一個變數但未給變數賦值時,這個變數的預設值就是 Undefined。例如:

var num;
console.log(num);  // 输出 undefined

es6中有多少種原始資料類型

在使用 typeof 運算子檢視未賦值的變數型別時,會發現它們的型別也是 undefined。對於未宣告的變量,使用typeof 運算子查看其類型會發現,未宣告的變數也是undefined,範例程式碼如下:

var message;
console.log(typeof message);  // 输出 undefined
console.log(typeof str);     // 输出 undefined

es6中有多少種原始資料類型

說明:null 、undefined的異同點:

相同點:都是一個值的資料型別;二者參與判斷時都回傳false;二者都沒有方法

不同點:

#(a )、null 是一個對象,而undefined 不是以個對象;

(b)、null 是一個關鍵字,undefined不是關鍵字;

(c)、null轉換為數字時為0,而undefined轉換為數字時是NaN;

(d)、typeof null返回'object',typeof undefined 返回'undefined';

alert(null == undefined) ;//true

#3、Number 類型

數值(Number)型別用來定義數值,JavaScript 中不區分整數和小數(浮點數),統一使用Number 類型表示,如下例所示:

var num1 = 123;     // 整数
var num2 = 3.14;    // 浮点数

注意:Number 類型所能定義的數值並不是無限的,JavaScript 中的Number 類型只能表示-(253 - 1) 到(253 -1) 之間的數值。

對於一些極大或極小的數,也可以用科學(指數)計數法來表示,如下例所示:

var y=123e5;      // 123 乘以 10 的 5 次方,即 12300000
var z=123e-5;     // 123 乘以 10 的 -5 次方,即 0.00123

另外,Number 類型中還有一些比較特殊的值,分別為Infinity、-Infinity 和NaN,其中

  • Infinity:用來表示正無窮大的數值,一般指大於1.7976931348623157e 308 的數;

  • -Infinity:用來表示負無窮大的數值,一般指小於5e-324 的數;

  • NaN:即非數值(Not a Number 的縮寫) ,用來表示無效或未定義的數學運算結構,例如0 除以0。

提示:如果某次計算的結果超出了JavaScript 中Number 類型的值範圍,那麼這個數字就會自動轉換為無限大,正數為Infinity,負數為-Infinity 。

在number中有一個奇葩,自身都不相等。即alert(NaN == NaN) // false;

但是NaN 是資料型,也就是說typeof NaN 的回傳值是'number';

#針對上面兩個特性,ECMAScript提供了一個函數isNaN(); 用途是判斷傳入的值能否轉換為數字,回傳值是boolean值。

空字串轉換為數字是0;

將一個值轉換為數字類型可以使用Number();

4、String 類型

字串(String)類型是一段以單引號''或雙引號""包裹起來的文本,例如'123'、"abc"。需要注意的是,單引號和雙引號是定義字串的不同方式,並不是字串的一部分。

定義字串時,如果字串中包含引號,可以使用反斜線\來轉義字串中的引號,或選擇與字串中不同的引號來定義字串,如下例所顯示:

var str = "Let's have a cup of coffee.";  // 双引号中包含单引号
var str = 'He said "Hello" and left.';    // 单引号中包含双引号
var str = 'We\'ll never give up.';        // 使用反斜杠转义字符串中的单引号

5、Boolean 類型

#布林(Boolean)類型只有兩個值,true(真)或false(假),在做條件判斷時使用的比較多,您除了可以直接使用true 或false 來定義布林類型的變數外,還可以透過一些表達式來得到布林類型的值,例如:

var a = true;   // 定义一个布尔值 true
var b = false;  // 定义一个布尔值 false
var c = 2 > 1;  // 表达式 2 > 1 成立,其结果为“真(true)”,所以 c 的值为布尔类型的 true
var d = 2 < 1;  // 表达式 2 < 1 不成立,其结果为“假(false)”,所以 c 的值为布尔类型的 false

boolean類型主要用途是用於判斷;

正常情況下,只有這六種情況下會轉為false:空字串、null、undefined、0、-0、NaN

把一個陣列如何轉換為boolean值可以用兩中方法:Boolean()、 !!()

6、Symbol 類型

Symbol 是ECMAScript6 中引入的一種新的資料類型,表示獨一無二的值,Symbol 類型的值需要使用Symbol() 函數來生成,如下例所示:

var str = "123";
var sym1 = Symbol(str);
var sym2 = Symbol(str);
console.log(sym1);          // 输出 Symbol(123)
console.log(sym2);          // 输出 Symbol(123)
console.log(sym1 == sym2);  // 输出 false :虽然 sym1 与 sym2 看起来是相同的,但实际上它们并不一样,根据 Symbol 类型的特点,sym1 和 sym2 都是独一无二的

【相关推荐:javascript视频教程web前端

資料型別 說明
#null 空值,表示非物件
undefined 未定義的值,表示未賦值的初始化值
number 數字,數學運算的值
string 字串,表示訊息流

以上是es6中有多少種原始資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn