ES6之let与cont、解构赋值、Symbol

ES6之let与cont、解构赋值、Symbol一 let 与 cont 在 ES6 中新增了两个重要的 JavaScript 关键字 let 和 const let 声明的变量只在 let 命令所在的代码块内有效 const 声明一个只读的常量 一旦声明 常量的值就不能改变 1 1 let 声明变量 let a let b c d let e

大家好,我是讯享网,很高兴认识大家。

一.let与cont

在ES6 中新增了两个重要的 JavaScript 关键字: let 和 const。

let 声明的变量只在 let 命令所在的代码块内有效。

const 声明一个只读的常量,一旦声明,常量的值就不能改变。

1.1  let 

//声明变量

        let a;

        let b, c, d;

        let e = 100;

        let f = 521, g = 'iloveyou', h = [];

//1.变量不能重复声明

        // let star ='范世琦';

        // let star = "小范";

 //2.块儿级作用域全局,函数,eval

        // {

        //     let girl = '小红';

        // }

        // console.log(girl);

// 3.不存在变量提升

        // var song;

        // console.log(song);

        // var song='今天下雨了';

        // let song='今天下雨了';//未定义

// 4.不影响作用域链

        // let school = '尚硅谷';

        // function fn(){

        //     console.log(school);

        // }

tip:

set只能是数组, 可去重

1.2  cont

cont  定义常量:值不能修改

const 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错。

//声明常量

        // const SCHOOL = '加多宝';

//1.定要赋初始值

        // const A;

//2., 般常量使用大写(潜规则)

        // const a = 100;

//3.常量的值不能修改

        // SCHOOL = ' ATGUIGU' ;

//4.块儿级作用域

        // const PLAYER = 'UZI';

        // {

        //     console.log(PLAYER);

        // }

//5.对于数组和对象的元素修改,不算做对常量的修改,不会报错

        //const TEaM = ['UZI', 'MXLG', 'Ming', 'Letme'];

        // TEAM. push('Meiko');

注意:

        // var 变量提升
        // let 可读可写
        // const只读

二.解构赋值

2.1 解构赋值是对赋值运算符的扩展。

      他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。

      在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。

      //ES6 允许按照一定模式从数组和对象中提取值,对变量进行赋值,

      //这 被称为解构赋值。

      //在数组的解构中,解构的目标若为可遍历对象,皆可进行解构赋值。可遍历对象即实现 Iterator 接口的数据。

//1.数组的结构

        // const F4=['小沈阳','刘能','赵四','宋小宝'];

        // let [xiao,liu, zhao,song]=F4;

        // console.log(xiao);

        // console.log(liu);

        // console.log(zhao);

        // console.log(song);

 //2.对象的解构


讯享网

        const zhao = {

            name: ' 赵本山',

            age: '不详',

            xiaopin: function () {

                console.log("我可以演小品");

            }

        };

        // let { name, age, xiaopin } = zhao;

        // console.log(name);

        // console.log(age);

        // console.log(xiaopin);

        // xiaopin();

        // 解构赋值

        let {xiaopin}=zhao;

        xiaozhao;

三.  Symbol

3.1Symbol基本使用

ES6引入了一种新的原始数据类型Symbol, 表示独一无二的值。

它是JavaScript语言的第七种数据类型,是一种类似于字符串的数据类型。

ES6 数据类型除了 Number 、 String 、 Boolean 、 Object、 null 和 undefined ,还新增了 Symbol 。
Symbol特点:
1) Symbol 的值是唯一的,用来解决命名冲突的问题
2) Symbol值不能与其他数据进行运算
3) Symbol 定义的对象属性不能使用for...in...循环遍历,但是可以使用Reflect.ownKeys来获取对象的所有键名

3.2创建Symbol

基本语法:Symbol 函数栈不能用 new 命令,因为 Symbol 是原始数据类型,不是对象。可以接受一个字符串作为参数,为新创建的 Symbol 提供描述,用来显示在控制台或者作为字符串的时候使用,便于区分。

//创建Symbol

        // let s = Symbo1();

        // console.1og(s, typeof s);

        // let s2 = Symbol('范世琦');

        // let s3 = Symbol('范世琦');

//Symbol.for创建

        // let s4 = Symbol.for('范世琦');

        // let s5 = Symbol.for('范世琦');

//不能与其他数据进行运算

        // let result = s + 100;

        // let result = S > 100;

        // let result = s + s;

3.3 Symbol 的方法与属性

Symbol 作为对象属性名时不能用.运算符,要用方括号。因为.运算符后面是字符串,所以取到的是字符串 sy 属性,而不是 Symbol 值 sy 属性。

//声明一个对象

        // let methods = {

        //     up: Symbo1(),

        //     down: Symbo1()

        // };

        // game[methods.up] = function () {

        //     console.log("我可以改变形状");

        // }

        // game[methods.down] = function () {

        //     console.log("我可以快速下降!!");

        // }

        // let youxi = {

        //     name: "狼人杀",

        //     [Symbol(' say')]: function () {

        //         console.log("我可以发言")

        //     },

        //     [Symbol(' zibao')]: function () {

        //         console.log('我可以自爆');

        //     }

        // }

        // console.log(youxi);

3.4  Symbol内置值

特别的: Symbol内置值的使用,都是作为某个对象类型的属性去使用

小讯
上一篇 2025-02-28 08:04
下一篇 2025-04-10 10:45

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/46359.html