JS学习1 :字符串:模板字面量,布尔值,===和==,类型转换

210 阅读2分钟

感觉这个的方法,变化多端,防不胜防。 看看是如何变化的吧;

普通的字符串

  • 普通的字符串就是用'',来表示;
let s = 'hello world'

ES6之后的字符串可以用反引号来定界

let s = `hello world`
  • 这个反引号,可以解析里面的JavaScript,使其变成字符串,示例如下:
let name = "Bill"
let greeting = `Hello ${name}.`;//greeting == "Hello Bill."
  • 这个反引号,先把${}里的内容,当做JS表达式来解释,括号内的表达式,会被求值,然后转换为字符串并插入模板中,替换美元字符、花括号以及花括号中的所有内容;
  • 而位于花括号之外的则是常规字符串,

布尔值

  • 布尔值有一个toString()方法,可用于将自己转换为字符串"true"或"false";除了这个简单的API,再无其他可用的方法;
  • 不过还有三个重要的布尔值操作符;
    • &&执行布尔值与操作,当且仅当两个操作数为真时,求值结果才为真;任何一个操作数为假,结果都为假;
    • ||执行布尔值或操作,任何一个操作数为真,求值结果就是真;只有当两个操作数均为假,结果才是假;
    • !执行布尔值非操作,如果操作数是假,则结果为true,如果操作数是真,结果为false;

转换类型

严格相等操作符 ===

  • 如果两个值是不同一种类型,这个操作符就会判定他们不相等;

类型灵活转换操作符

  • 由于JS在类型转换上比较灵活,所哟他定义了==操作符,这个操作符判定相等的标准比较灵活,下列比较结果都是为true;
null == undefined //这两个值被判定为相等
"0" == 0   //字符串在比较前会转换为数值
0 == false //布尔值在比较前会转换为数值
"0" == false //两个操作数在比较前都转换为0

显示转换

  • 尽管JS会自动执行很多类型的转换,但有时也需要进行显示转换,或者是有意进行显示转换以保证代码清晰;
  • 执行显示转换的最简单方法就是使用Boolean()、Number()、String()函数;
    Number("3")    // => 3
    String(false)  // => "false"
    Boolean([])    // => true
  • 除了null和undefined之外,所有的值都有toSting()方法,这个方法返回的结果通常与String()函数返回的结果相同;
    • 这两个在用法上有什么区别?
      • par.toString(),将par转换为字符串,在不知道转换的值是不是null和undefined的情况下,还可以使用String()函数,他能将任何类型的值转换为字符串;
      • String(par),将par转换为字符串,