js筆記---包裝對象與Boolean對象

所謂“包裝對象”,就是分別與數(shù)值、字符串、布爾值相對應(yīng)的Number、String、Boolean三個原生對象。這三個原生對象可以把原始類型的值變成(包裝成)對象。

包裝對象實例可以使用Object對象提供的原生方法,主要是 valueOf 方法和 toString 方法。

1、valueOf( ) 返回包裝對象實例對應(yīng)的原始類型的值
new Number( 123 ).valueOf( ) //"123"
new String( "abc" ).valueOf( ) //"abc"
new Boolean( "true" ).toString( ) //"true"

2、toString( ) 返回該實例對應(yīng)的原始類型只得字符串形式(同上)
原始類型可以自動調(diào)用定義在包裝對象上的方法和屬性。比如length屬性,返回字符串的長度。
Boolean對象除了可以作為構(gòu)造函數(shù),還可以作為工具方法單獨使用:
Boolean( undefined ) // false
Boolean( null ) // false
Boolean( 0 ) // false
Boolean( ' ' ) // false
Boolean( NaN ) // false
Boolean( 1 ) // true
Boolean( 'false' ) // true
Boolean( [ ] ) // true
Boolean( { } ) // true
Boolean ( function( ) { } ) // true
Boolean( /foo/ ) // true

使用not運算符(!)也可以達(dá)到同樣效果。
!!( function( ) { } ) // true
!!( /foo/ ) // true

對于一些特殊值,Boolean對象前面加不加new,會得到完全相反的結(jié)果,必須小心。
if( Boolean( false ) )
console.log( 'true' ); // 無輸出
if( new Boolean( false ) )
console.log( 'true' ); // true
if( Boolean( null ) )
console.log('true'); // 無輸出
if ( new Boolean( null ) )
console.log('true'); // true

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • JS基礎(chǔ)講解 JavaScript組成ECMAScript:解釋器、翻譯DOM:Document Object M...
    FConfidence閱讀 580評論 0 1
  • 9.正則表達(dá)式 首先,js定義了RegExp()構(gòu)造函數(shù),用來創(chuàng)建表示文本匹配模式的對象。這就是正則表達(dá)式。正則表...
    我就是z閱讀 698評論 0 5
  • 人們越來越意識到安全的重要,不只是人身安全,還包括我們個人信息的隱私安全。在互聯(lián)網(wǎng)時代,想要保障我的信息安全,我們...
    隨風(fēng)流逝閱讀 619評論 0 0
  • 多傻 要是能忘 我怎會放不下 你的話打開了記憶的閥 也許我們都向往幸福的方向 你前進(jìn) 我卻在原地停下 多傻 還在期...
    全世界借我一秒遺忘你CYM閱讀 285評論 0 1