JavaScript知识点回顾(五)——数据类型(三)

136 阅读3分钟

这是我参与8月更文挑战的第五天,活动详情查看:8月更文挑战

数据类型

ECMAScript有六种简单数据类型:Number,String,Boolean,Null,Undefined和Symbol。其中Symbol是ES6新增的

String类型

1.字符字面量

字符串类型可以用单引号(')、双引号(")或者反引号(`)表示。并且不能混用。 字符串类型包含一些字符字面量。

字面量含义字面量含义
\n换行\t制表
\b退格\r回车
\f换页\反斜杠(\)
\'单引号\"双引号
\xnn十六进制编码nn表示的字符\unnn十六进制编码nnnn表示的字符

2.字符串特点

字符串一经创建,值就不会变了。如果要修改字符串的值,实际上是销毁了原先的字符串,然后将包含新值的另一个字符串报存到该变量。

3.转换字符串

首先是最常用的方法toString(),这个方法唯一的作用就是返回当前值的字符串等价物。toString()方法可以用于数值、布尔值、对象、和字符串本身。null和undefined没有toString()方法。toSring()方法可以接收一个底数参数,用于控制输出数值的字符串表示。

    let num = 10;
    congsole.log(num.toString());   //10
    congsole.log(num.toString(2));  //1010
    congsole.log(num.toString(8));  //12
    congsole.log(num.toString(10)); //10
    congsole.log(num.toString(16)); //a

如果不确定一个值是不是可以直接用toString()方法,那么可以用String()转型函数,这个函数会返回表示相应类型值的字符串。(其实就是对toString()方法的补充) 如果值有toString()方法,那么调用toString()方法并返回结果;如果值为null,那么返回"null",如果值为undefined,那么返回"undefined"。

4.模板字面量

模板字面量是ES6推出的,它的特点在于可以保留换行字符,可以跨行定义字符串。模板字面量用的最多的场景就是定义模板。

    let pageHTML = `
    <div>
        <p>juejin</p>
    </div>`;

5.字符串插值

模板字面量最常用的特性是字符串插值,也就是可以在一个连续定义中插入一个或多个值。所有插入的值都会使用toString()强制转换为字符串。并且任何js表达式都可以用于插值。

    let a = 5;
    let result = a + "乘以" + a + "等于" + ( a * a );//普通拼接
    let nowresult = `${a} 乘以 ${a} 等于 ${ a * a }`;//模板字符串拼接

6.标签函数

模板字面量也支持定义标签函数,通过标签函数可以自定义插值行为。标签函数会接受被插值记号分隔后的模板和对每个表达式求值的结果。

7.原始字符串

使用模板字面量可以直接获取原始的模板字面量内容,而不是被转换后的字符表示,为此,可以使用默认的String.raw标签函数

    console.log(`\\`);            打印转义后的\
    console.log(String.raw`\\`);  打印原始的\\

Symbol类型

Symbol是ES6新增的数据类型。符号是原始值,且符号实例是唯一、不可变的。符号的用途是确保对象属性使用唯一标识符,不会发生属性冲突的危险。 使用符号需要用Symbol()函数初始化。

    let sym = Symbol();

Object类型

ECMAScript中的Object是所有的对象的基类,所有任何对象都有以下属性和方法:

  • constructor:保存着用于创建当前对象的函数。

  • hasOwnProperty:用于检查给定的属性在当前对象实例中是否存在。参数的属性名必须以字符串形式指定。

  • isPrototypeOf:用于检查传入的对象是否是当前对象的原型。

  • propertyIsEnumerable:用于检查给定的属性是否能够使用for-in语句累枚举。参数的属性名必须以字符串形式指定。

  • toLocaleString():返回对象的字符串,该字符串与执行环境的地区对应。

  • toString():返回对象的字符串表示。

  • valueOf():返回对象的string、number、boolean表示。通常与toString()方法的返回值相同。