你不知道的JavaScript(中)读书笔记(二)

第三章 原生函数

常用的原生函数(内建函数)有:

  • String()
  • Number()
  • Boolean
  • Array()
  • Object()
  • Function()
  • RegExp()
  • Date()
  • Erroe()
  • Symbol() ——ES6中新加入的

 new String("abc") 创建的是字符串 "abc" 的封装对象,而非基本类型值 "abc" 。

1、想要得到封装对象中的基本类型值,可以使用 valueOf() 函数:

var a = new String( "abc" );
var b = new Number( 42 );
var c = new Boolean( true );
a.valueOf(); // "abc"
b.valueOf(); // 42
c.valueOf(); // true

2、判断其类型typeof

var a = "abc";
var b = new String( a );
var c = Object( a );
typeof a; // "string"
typeof b; // "object"
typeof c; // "object"
b instanceof String; // true
c instanceof String; // true

 除非万不得已,否则尽量不要使用 Object(..) / Function(..) / RegExp(..) 

 3、Date(..) 和 Error(..)【用处比较大】

(1)创建日期对象必须使用 new Date() 。 Date(..) 可以带参数,用来指定日期和时间,而不带参数的话则使用当前的日期和时间。

(2)创建错误对象(error object)主要是为了获得当前运行栈的上下文(大部分 JavaScript 引擎通过只读属性 .stack 来访问)。错误对象通常与 throw 一起使用

function foo(x) {
if (!x) {
throw new Error( "x wasn’t provided" );
}
// ..
}

4、Symbol(...)

可以使用 Symbol(..) 原生构造函数来自定义符号。但它比较特殊,不能带 new 关键字,否则会出错

第四章 强制类型转换

猜你喜欢

转载自www.cnblogs.com/chorkiu/p/10148942.html