es6中型別轉換總結

2021-10-01 14:58:13 字數 2815 閱讀 8554

主要有以下三點:

轉換成字串

轉換成數字

強制型別轉換

一. 轉換成字串

1). 首先知道所用的是tostring()方法。

針對boolean值、數字和字串這些偽物件,還是真物件,都有該方法。

2). 其次,該方法的使用。

除了number型別的使用時有點特殊外,別的未物件和真物件的使用一樣,例如:

var a1 = true;

a1.tostring(); //輸出「true」

對於number型別的,可以加基,舉例:

var a2 = 10

var a3 = 10.0

a2.tostring() // 輸出「10」

a3.tostring() //輸出"10"

a2.tostring(10) //輸出「10」

a2.tostring(2) //輸出「1010」

a2.tostring(8) //輸出「12」

a2.tostring(16) //輸出「a」

二. 轉換成數字

將非數字的原始值轉換為數字

1). 首先,使用的是parseint() 和 parsefloat().

2). 其次,方法的使用注意:a)前者將值轉換為整數,後者將值轉換為浮點數; b)使用物件是string型別,若非string型別,則返回nan。

3). 二者屬性區別:a)parseint(string, radix),接收兩個引數。第乙個是轉換的字串;第二個是基。b)parsefloat(string),接收乙個引數。

4). 例子:

var inum1 = parseint("12345red");	//返回 12345

var inum1 = parseint("0xa"); //返回 10

var inum1 = parseint("56.9"); //返回 56

var inum1 = parseint("red"); //返回 nan

var inum1 = parseint("af", 16); //返回 175

var inum1 = parseint("10", 2); //返回 2

var inum2 = parseint("10", 8); //返回 8

var inum3 = parseint("10", 10); //返回 10

//如果十進位制數包含前導 0,那麼最好採用基數 10,這樣才不會意外地得到八進位制的值

var inum1 = parseint("010"); //返回 8

var inum2 = parseint("010", 8); //返回 8

var inum3 = parseint("010", 10); //返回 10

var fnum1 = parsefloat("12345red");	//返回 12345

var fnum2 = parsefloat("0xa"); //返回 nan

var fnum3 = parsefloat("11.2"); //返回 11.2

var fnum4 = parsefloat("11.22.33"); //返回 11.22

var fnum5 = parsefloat("0102"); //返回 102

var fnum1 = parsefloat("red"); //返回 nan

三. 強制型別轉換(type casting)

一種型別強制轉換為另一種型別

1). 首先,明確函式使用方法:

boolean(value) - 把給定的值轉換成 boolean 型;

number(value) - 把給定的值轉換成數字(可以是整數或浮點數);

string(value) - 把給定的值轉換成字串;

需要注意的是,該方法回建立乙個轉換成的新值。

2). 其次,分別注意每個方法的使用,示例:

// boolean()

var b1 = boolean(""); //false - 空字串

var b2 = boolean("hello"); //true - 非空字串

var b1 = boolean(50); //true - 非零數字

var b1 = boolean(null); //false - null

var b1 = boolean(0); //false - 零

var b1 = boolean(new object()); //true - 物件

//number(),該方法呼叫parseint()和parsefloat()

var a1 = number(false) //0

var a2 = number(true) //1

var a2 = number(undefined) //nan

var a2 = number(null) //0

var a2 = number("1.2")

var a2 = number("12") //12

var a2 = number("1.2.3") //nan

var a2 = number(new object()) //nan

var a2 = number(50) //50

//string()

var s1 = string(null); //"null"

var onull = null;

var s2 = onull.tostring(); //會引發錯誤

ES6語法總結

1 物件的寫法 es5中物件 es6中物件 注意這種寫法的屬性名稱和值變數是同乙個名稱才可以簡寫,否則要想es5那樣的寫法,例如 2 在物件中的方法的寫法 es5中物件 substrict function es6中物件 substrict 3 物件的匯出寫法 es5兩種形式 1 module.ex...

es6學習總結

一 let和const 1.let宣告的變數只在它所在的 塊有效。2.let宣告的變數僅在塊級作用域內有效。3.不存在變數提公升。4.每個let宣告的變數都有各自的作用域。它所宣告的變數一定要在宣告後使用,否則報錯 5.暫時性死區 只要塊級作用域內存在let命令,它所宣告的變數就 繫結 bindin...

ES6 使用總結

es6 全稱ecmascript 2015 字串模板 es5字串的拼接是用 完成的,es6是 拼接,其中變數引用為 擴充套件運算子 兩者有相同的物件屬性,後者值覆蓋前者 obj 箭頭函式 更改this的指向問題 變數提公升 let與const 注釋 const雖然為不可變更的常量,但是當其定義為物件...