基本数据类型 number string boolean null undefined Symbol
引用数据类型 object(Function Array RegExp)
es6 提供一个基本数据类型Symbol
Symbol代表了唯一的一个数 不可以new
console.log('1'==='1'); // =>true
console.log( Symbol('1') == Symbol('1') ) =>false;
用Symbol包裹的数据是唯一的 独一无二的
首字母开头大写的叫 构造函数 可以new
let a = new Symbol('username') 不可以new
/* 两个人在同时开发一个页面 */
/* 小A定义了对象obj */
// let obj = {
// username:"zhangsan"
// }
// /* 小B 不知道这个obj 有的key叫username
// 把username 重新赋值了 造成了问题*/
// obj.username = 'lisi'
// console.log(obj);
// let obj = {
// [Symbol('username')]: "zhangsan"
// }
// console.log('old',obj);
// obj.username = 'lisi'
// console.log('new',obj);
// [] 如果里面的时候一个变量 可以直接写 o[user1]
// 这里面的user1 就是一个变量
// o['user1'] =>{user1:'zhangsan'}
// let user1 = 'username';
// let o = {}; /* => {username:'zhangsan'} */
// o[user1] = 'zhangsan'
复制代码
/* 基于Object的方式创建对象 */
/* Object 类 */
/* obj 实例化出来的对象 */
// let obj = new Object();
// obj.name = '涛涛';
// obj.age = '30';
// obj.playGame = function (){
// document.write('我nba2k 超级溜');
// }
// document.write(obj.name + '
');
// document.write(obj.age + '
');
// obj.playGame();
/* 对象字面量 */
/* 对象字面量
对象定义的一种简写形式
简化创建包含大量属性的对象的过程
在为函数传递大量可选参数时,可考虑使用对象字面量 */
<!-- 构造函数的方式 -->
<script>
/* obj是Object new出来的一个实例化对象 */
// let obj = new Object()
// obj.name = 'taotao'
// obj.age = 30
// obj.kaiche = function (){
// document.write( `${obj.name}--年纪${obj.age} 会开车` );
// }
// obj.kaiche();
let obj = {
"name":"taotao",
"age":30,
"kaiche":function (){
console.log('this',this);
document.write( `${this.name}--年纪${this.age} 会开车` );
}
}
/* this是谁调用就是谁的 */
obj.kaiche()
console.log(obj);
/* 对象字面量 */
/* 对象定义的一种简写形式 */
/* 简化创建包含大量属性的对象的过程 */
/* 在为函数传递大量可选参数时,可考虑使用对象字面量 */
作者:前端小帅帅
链接:juejin.cn/post/705192…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。