根據訪問方式,在ES中可以將數據分為兩種類型,值類型和引用類型。
* 值類型的數據可以被直接訪問。
* 引用類型的數據只能被間接訪問。

當我們在談值和對象的時候是在談些什么呢?
一言概之,如寫程序是工作的具體實例,值就是值類型的具體實例,對象就是引用類型的具體實例。
以下是典型的0值和空白對象。
~~~
console.dir(0);
console.dir({});
~~~

在ES中,凡是對象都有其原型,在數據上的表示就是\_\_proto\_\_引用。
關于原型的概念將在后續章節講解。
# 值和對象在使用上的區別
* 值是不可變的。
* 對象是值的組合,組合是可變的。
~~~
var foo=1;
foo=10;//不是值1變成了值10,而是foo選擇的值變成了值10。
var obj={foo:1};
obj.foo=10;//對象的組合從{foo:1}變成{foo:10};
~~~
**為什么要玩這種文字游戲?**
因為如此能讓我們專注于一個簡單的模型,而無視程序內部繁瑣的操作。
~~~
var str='hello'
str[0]='x';
console.info(str);//hello
~~~
在ES,String類型屬于值類型,所以字符串不能被改變,所以他的“修改”方法總是返回一個新的字符串。
如concat,replace,slice……