## Day02:
### 第三章-第四章( p036-p047 )
* 使用操作符比较字符串时,比较的是字符串的 Unicode 16 位值序列。
* 字符串是只读的,使用方法调用字符串时会产生新的字符串。
* 模版字面量允许字符串横跨多行而无需转义,其中用 `${}` 包裹起来的表达式也会在求值后转换成字符串插入模板。
* 任何值都可以转换为布尔值。null 、undefined 、‘ ‘、0 、-0 、NaN ,这 6 个值的布尔值是 false ,所有其他值的布尔值为 true 。
* null 是程序级别的没有值; undefined 是系统级别的预定义全集常量,意义也是没有值。在使用中没有差别,但是在语义上可以用 null 表示预料中的没有值,这样在 undefined 出现时就可以更方便得区分是否是一个 bug 。
* Symbol 可以解决对象属性重名的问题,使用 `Symbol()` 会产生一个符号值,再次用相同的参数调用函数会产生另外一个完全不同的值。相当于把属性名装进了一个安全的福袋,即使福袋的外包装一样,内容也完全不同。
* 原始类型如 字符串、数值、布尔值、null 、undefined 的值不可修改,引用类型如对象的值可修改。
* JS 会根据上下文隐式转换提供的值,比较有趣的是 true 转换成数值是 1 ,null 和 false 则是 0 。
P.s. 花了些时间在
Codepen.io 上看别人的 demo (暂时只能看懂 html 、和 css 的部分)并且尝试书里的例子,很多基础知识不懂,几乎看一页就要花上一段时间来搜索相关概念。不过网上资料很丰富,立即就能找到想要答案。