ES6 之 數值的擴充套件
二進位制和八進位制的表示法
二進位制和八進位制的新寫法:字首0b(或0B)和0o(或 0O)標示
ES5嚴格模式下,八進位制不允許使用字首0表示
ES6進一步明確使用字首0o表示
// 非嚴格模式
(function(){
console.log(0o11 === 011);
})() // true
// 嚴格模式
(function(){
'use strict';
console.log(0o11 === 011);
})() // Uncaught SyntaxError: Octal literals are not allowed in strict mode
- 0b和0o字首的字串數值轉十進位制,要使用Number方法
Number('0b111');//7
Number('0o10'); //8
Number.isFinite(),Number.isNaN()
- Number.isFinite()用來檢查一個數值是否為有限的(finite),即不是Infinity
console.log(Number.isFinite(15)); //true
console.log(Number.isFinite(0.8));; //true
console.log(Number.isFinite(NaN ));; //false
console.log(Number.isFinite(Infinity));;//false
console.log(Number.isFinite(-Infinity));;//false
console.log(Number.isFinite('false'));; //false
console.log(Number.isFinite('15')); //false
console.log(Number.isFinite(true)); //false
- Number.isNaN()用來檢查一個值是否為NaN。
console.log(Number.isNaN(NaN)); //true
console.log(Number.isNaN(15)); //false
console.log(Number.isNaN('15'));//false
console.log(Number.isNaN(true));//false
console.log(Number.isNaN(9 / NaN));//true
console.log(Number.isNaN('true' / 0));//true
console.log(Number.isNaN('true' / 'true'));//true
isFinite(25) // true
isFinite("25") // true
Number.isFinite(25) // true
Number.isFinite("25") // false
isNaN(NaN) // true
isNaN("NaN") // true
Number.isNaN(NaN) // true
Number.isNaN("NaN") // false
Number.isNaN(1) // false
ps:以上兩個Number新方法針對傳統全域性的isFinite()和isNaN()的區別為,
傳統方法先呼叫Number()將非數值轉為數值,再進行判斷
新方法只對數值有效,對於非數值的一律為false
Number.parseInt(),Number.parseFloat()
// ES5的寫法
parseInt('12.34') // 12
parseFloat('123.45#') // 123.45
// ES6的寫法
Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45
// 這樣做的目的,是逐步減少全域性性方法,使得語言逐步模組化。
Number.parseInt === parseInt // true
Number.parseFloat === parseFloat // true
Number.isInteger()
- Number.isInteger()用來判斷一個數值是否為整數。
Number.isInteger(25) // true
Number.isInteger(25.1) // false
# JavaScript 內部,整數和浮點數採用的是同樣的儲存方法,所以 25 和 25.0 被視為同一個值。
Number.isInteger(25) // true
Number.isInteger(25.0) // true
# 如果引數不是數值,Number.isInteger返回false。
Number.isInteger() // false
Number.isInteger(null) // false
Number.isInteger('15') // false
Number.isInteger(true) // false
如果對資料精度的要求較高,不建議使用Number.isInteger()判斷一個數值是否為整數
5E-325由於值太小,會被自動轉為0,因此返回true
相關推薦
ES6 之 數值的擴充套件
二進位制和八進位制的表示法 二進位制和八進位制的新寫法:字首0b(或0B)和0o(或 0O)標示 ES5嚴格模式下,八進位制不允許使用字首0表示 ES6進一步明確使用字首0o表示
ES6之數值型別(number)
新特性:Number.isNaN函式 傳統的isNaN函式會把非數值的引數轉化成數值再進行判斷,而Number. isNaN只對數值型別有效,非數值型別的引數一律返回false。當返回false的時候,不一定就是一個數值,有可能是一個非數值型別的引
ES6之數值的擴展
多少 asc 誤差 let parseint 邊界值 fin bsp script 1、二進制和八進制表示法 分別前綴----二進制:0b(0B) 八進制:0o(0O) 註:要把0b和0o前綴的字符串轉為十進制數值,要用Number方法
ES6學習之數值擴展
sin isf integer 後綴 isnan 範圍 int 數值 平方根 二進制和八進制表示法(二進制用前綴0b(或0B)表示,八進制用前綴0o(或0O)表示) Number(‘0b111‘) // 7 Number(‘0o10‘) // 8 Number.is
web前端之es6物件的擴充套件
1.屬性的簡潔表示法 2.屬性名錶達式 表示式作為物件的屬性名 3.方法的 name 屬性 例如:函式的name 屬性,返回函式名。 4.Object.is() ES 比較兩個值是否相等,只有兩個運算子,相等運算子,相等運算子(==) 和嚴格相等運算子(
ES6 之 物件的擴充套件
屬性的簡潔表示法 let book = '234'; let good = '432'; let obj01 = { book, good } console.log(obj01); 方法名的name屬性 .....  
ES6之字串的擴充套件
作者: kim 來源: 自創 已經有一段時間沒更新關於ES6的知識點了,主要還是因為時間有點緊,小編現在即沉迷於工作,也在堅持運動,最最最最重要的還是少了點寫作的動力。但是不管怎麼樣,每週至少還是會更新一篇,內容不限。今天接著講ES6中對字串的擴充套件知識點
es6之擴充套件運算子 三個點(...)
es6之擴充套件運算子 三個點(…) 物件的擴充套件運算子 理解物件的擴充套件運算子其實很簡單,只要記住一句話就可以: 物件中的擴充套件運算子(...)用於取出引數物件中的所有可遍歷屬性,拷貝到當前物件之中 let bar = { a: 1, b: 2 }
ES6 之 函式的擴充套件
函式引數的預設值 function log(x, y) { y = y || 'world' console.log(x + ' ' + y); } log('hello') // hello world log('hello','China')
ES6之擴充套件物件的功能性
目錄 一、物件類別 二、物件字面量的語法擴充套件 2.1、屬性初始值的簡寫 2.2、物件方法的簡寫語法 2.3、可計算屬性名 三、新增方法 3.1、Object.is()方法 3.2、Object.assign()方法 四、重複的物件字面量屬性 五、自有屬性列
ES6之陣列的擴充套件(ES6對於陣列的新增方法)
擴充套件運算子(...) 擴充套件運算子(spread)是三個點(...),他如同rest引數的逆運算,將一個數組轉為逗號分隔的引數序列 console.log(...[1, 2, 3]) //1 2 3 console.log(0, ...[1, 2, 3], 4)
ES6之物件字面量擴充套件語法(Enhanced Object Literals)
物件字面量擴充套件語法(Enhanced Object Literals) 目錄: 函式類屬性的省略語法 用法:{ method() {…} } const obj = { //Before foo: funct
ECMAScript6(ES6)標準之函式擴充套件特性箭頭函式、Rest引數及展開操作符
ES6擴充套件了很多語法糖語法 其中對於函式我們又可以使用一種叫做“箭頭函式”的寫法 同時引入了Rest引數 利用“…”可以獲取多餘引數 這樣就我們就不要使用arguments物件了 下面我來詳細地談一談 函式預設引數 ES6沒有出現之前 面
5. es6之函式的擴充套件
1.1函式引數的預設值 es6之前,不能直接為函式引數提供預設值,只能採用變通的方法 //es5寫法 function log(x,y){ if(typeof y === 'undefined'){ y = 'world';
ES6 數值擴充套件
1.Number.isFinite和Number.isNaN Number.isFinite來判斷一個數是不是有盡的 console.log(Number.isFinite(15));//true
es6數值擴充套件(四)
二進位制:0b; 八進位制:0o; isFinite:判斷是不是有盡的數值。 isNaN:判斷是否是數值。 isInteger:判斷是否是整數。(接受的引數必須是數值,‘25’返回false)。 MA
學習es6之(變量的解構賦值)
返回 blog 成了 所在 asc 對象 expected 正弦 peer 數組的解構賦值 ES6允許按照一定模式,從數組和對象中提取值,對變量進行賦值,這被稱為解構。 以前,為變量賦值,只能直接指定值。 let a = 1; let b = 2; let c = 3;
es6之Generator
object 每一個 undefined style es6 cti 另一個 world done 1.Generator函數其實是一個封裝了多個內部狀態的狀態機,執行它會返回一個遍歷器對象,然後可以依次遍歷Generator中的每一個狀態,也就是分段執行,yield是暫停
ES6 之 let const
完全 變量 凍結 obj 結構 數據結構 代碼 但是 全局 1 let 聲明的變量只能自己讀取不能和var聲明的混淆 2 只要有let聲明的代碼塊裏,在聲明的變量前調用就會報錯 3 同一個變量不能聲明2次 const : 1 作用域類似let 2 聲明的常量不可改
ES6之class
tor 逗號 之間 ima 註意 type 屬性 clas method ES5中通常通過構造函數和原型的組合形式來創建對象。在ES6中引入class作為對象模板, Class定義語法 class point{ constructor(x,y){