最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScriptes6中关于对象的扩展详解

来源:动视网 责编:小采 时间:2020-11-27 20:14:31
文档

JavaScriptes6中关于对象的扩展详解

JavaScriptes6中关于对象的扩展详解:一、现在还有很多浏览器不能直接使用es6语法。特别是手机端的一些低版本的浏览器。都需要用bale转换一下。但是目前流行的框架中(vue,react,angular)。都有自己的脚手架,都能用webpack转换下。或者直接自己配置webpack , fis3,nowa 等转换。照
推荐度:
导读JavaScriptes6中关于对象的扩展详解:一、现在还有很多浏览器不能直接使用es6语法。特别是手机端的一些低版本的浏览器。都需要用bale转换一下。但是目前流行的框架中(vue,react,angular)。都有自己的脚手架,都能用webpack转换下。或者直接自己配置webpack , fis3,nowa 等转换。照


一、现在还有很多浏览器不能直接使用es6语法。特别是手机端的一些低版本的浏览器。都需要用bale转换一下。

但是目前流行的框架中(vue,react,angular)。都有自己的脚手架,都能用webpack转换下。或者直接自己配置webpack , fis3,nowa 等转换。

照样不是美滋滋。

二、属性的简洁写法 

//1.属性简洁表示语法
 var foo = 'bar'; var obj = {foo};
 console.log(obj); //创建对象的函数
 function createOjb(x = 1,y = 1){ //x = 1, y = 1; 参数的默认值
 return {
 x,y
 }
 } var newObj = createOjb(); 
 console.log(newObj); //{x:1,y:1} 
 var birthDate = '2017/8/12' //2 方法的简写
 var person = {
 name:'绿巨人',
 age:'200岁',
 birthDate,
 say(){
 console.log(this.name); //等同于 say:function(){ console.log(this.name)}; }
 }
 person.say(); // 绿巨人
 //in 方法
 var msg = {
 hello:'helloValue',
 world:'worldValue'
 }
 console.log('hello' in msg,'helloValue' in msg); 
 // true,false; => 判断某个键值是在某个对象里面
 //commonJS 模块化
输出 function Obj(methods){ this.methods = methods || {}; } Obj.prototype.getItem = function(key){ return key in this.methods ? methods[key] : null; } Obj.prototype.setItem = function(key,value){ this.methods[key] = value; } var obj = new Obj(); //module.exports = {obj}; //4.注意点 :简洁写法的属性名总是字符串,这会导致一些看上去比较奇怪的结果。

三、属性表达式

//属性名表达式
 // 1. 对象添加属性的两种方式
 var newObj = new Object();
 newObj.name = 'html';
 newObj['age'] = '20岁'; //对象字面量的方式 se5 中字面量方式下 属性名字只能用 字符串形式。不能用 ['name']
 var newObj1 = {
 name:'css',
 age:'30岁'
 } //SE6
 var newObj2 = {
 ['name']:'js',
 ['a' + 'ge']:'40岁',
 ['hello world']:'say hello world',
 ['say' + ' hi'](){
 console.log(this['hello world'])
 }
 }
 console.log(newObj2.name); // jss
 console.log(newObj2['hello world']); // say hello world
 newObj2['say hi'](); // say hello world
 //!!!注意 属性名表达式是不能喝属性简写一起使用的
 var objKey = {a:1}; var newObj3 = {
 [objKey]:'我是一个对象'
 }
 console.log(newObj3); // {[object object]:'我是一对象'}
 console.log(newObj3[{a:1}]); // 我是一个对象 
 console.log(newObj3['object object']); // undefined 是不是很奇怪啊

文档

JavaScriptes6中关于对象的扩展详解

JavaScriptes6中关于对象的扩展详解:一、现在还有很多浏览器不能直接使用es6语法。特别是手机端的一些低版本的浏览器。都需要用bale转换一下。但是目前流行的框架中(vue,react,angular)。都有自己的脚手架,都能用webpack转换下。或者直接自己配置webpack , fis3,nowa 等转换。照
推荐度:
标签: js 对象 详解
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top