美文网首页
【es6笔记】es6的入门简介_变量(2)

【es6笔记】es6的入门简介_变量(2)

作者: 李明燮 | 来源:发表于2022-05-23 14:45 被阅读0次

    这里整理了ES6新增的变量声明方法。

    <!DOCType html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    
    <body>
        <script>
            console.log("--------------1.let 用法--------------")
            //1.声明
            let a;
            let b, c, d;
            let e = 10, f = 'haha', g = [];
    
            // 2.同名的变量报错
            let h;
            //let h; 同名的变量报错
    
            //3. 作用域是代码块 {}
            // if else for while
            {
                var s = '小明';
                let s2 = '小张'
            }
            console.log(s); // 小明
            //console.log(s2); // ReferenceError: s2 is not defined
    
            //4.不存在变量提升, var 变量是提前搜集声明,但let不会
            console.log(k); // undefined
            var k = 10;
    
            // console.log(age2); // ReferenceError: Cannot access 'age2' before initialization
            // let age2 = 20;
    
            //5.不影响作用域链
            let city = '上海市';
            {
                let city = '北京市';
                function printCity() {
                    console.log(city);
                }
                printCity(); // 北京市
            }
            printCity(); // 北京市
    
            console.log("--------------2.const 用法--------------")
            //1.声明
            // const a;  2. 必须要赋值,否则报错
    
            // 3.常量一般大写
            const COUNTRY = '中国';
    
            // 4.不能修改
            //COUNTRY = '俄罗斯'; //TypeError: Assignment to constant variable.
    
            // 5.块级作用域
            {
                const AA = 10
            }
            // console.log(AA); // ReferenceError: AA is not defined
    
            var QTY = 12;
            {
                const QTY = 11;
                function printQty() {
                    console.log(QTY);
                }
                printQty(); //11
            }
            printQty(); //11
    
            // 6.对数组或兑现的修改(引用类型的内容修改),不算常量修改不算报错。
            const ARR = [1, 2, 3];
            ARR.push(4);
            console.log(ARR); // [1, 2, 3, 4]
    
            console.log("--------------3.变量结构赋值--------------");
    
            // ES6 允许按照一定的模式从数组或对象中提取值,对变量进行赋值,这被称为解构赋值。
            const ARR1 = ['小张', '小明', '小红'];
            let [zhang, ming = '', hong, wang = ''] = ARR1;
            console.log(zhang); //小张
            console.log(ming); //小明
            console.log(hong); //小红
            console.log(wang); // ''
    
            const OBJ = {
                name: '小明',
                age: 10,
                sayName: function () {
                    console.log('我的名字是' + this.name);
                }
            };
    
            let { name, age, sayName } = OBJ;
            console.log(name); //小明
            console.log(age); //10
            sayName(); //我的名字是小明
    
            console.log("--------------4.模板字符串--------------");
            // 1.支持换行
            let str = `<ul>
                <ui>小明</ui>
                <ui>小张</ui>
                </ul>`;
    
            // 2.变量拼接
            let name3 = '小张';
            let strName3 = `${name3}是小学生。`
            console.log(strName3); //小张是小学生。
    
            console.log("--------------5.对象的简化写法--------------");
    
            let name4 = '小张';
            let age4 = 11;
    
            const student = {
                name4,
                age4,
                sayName4() {
                    console.log('我的名字是' + this.name4);
                }
            };
    
            //和下面的一样的效果
            const student1 = {
                name4: name4,
                age4: name4,
                sayName4: function () {
                    console.log('我的名字是' + this.name4);
                }
            };
    
        </script>
    </body>
    
    </html>
    

    欢迎大家的意见和交流

    email: li_mingxie@163.com

    相关文章

      网友评论

          本文标题:【es6笔记】es6的入门简介_变量(2)

          本文链接:https://www.haomeiwen.com/subject/cmmrprtx.html