谷粒商城学习——P29-30 let&const&解构&字符串

let与var、const

 

    <script>
       // var 声明的变量往往会越域
       // let 声明的变量有严格局部作用域
         {
             var a = 1;
             let b = 2;
         }
         console.log(a);  // 1
         console.log(b);  // ReferenceError: b is not defined

         // var 可以声明多次
         // let 只能声明一次
         var m = 1
         var m = 2
         let n = 3
//         let n = 4
         console.log(m)  // 2
         console.log(n)  // Identifier 'n' has already been declared

        // var 会变量提升
        // let 不存在变量提升
         console.log(x);  // undefined
         var x = 10;
         console.log(y);   //ReferenceError: y is not defined
         let y = 20;

        // let
        // 1. const声明之后不允许改变
           // 2. 一但声明必须初始化,否则会报错
        const a = 1;
        a = 3; //Uncaught TypeError: Assignment to constant variable.
    
    </script>
View Code

数组解构

个人理解,就是边命名边赋值

支持这种写法

let [a,b]=[1,2]
console.log(a,b)

对象解构

const person = {
            name: "jack",
            age: 21,
            language: ['java', 'js', 'css']
        }
//从person中取出name,赋值给abc,其实就是    上文中的let [a,b]=[1,2]边命名边赋值    
const { name:abc, age } = person;
console.log(abc, age)

 

字符串扩展

let str = "hello.vue";
let str = "hello.vue";
console.log(str.startsWith("hello"));//true
console.log(str.endsWith(".vue"));//true
console.log(str.includes("e"));//true

还有``这种符号代替引号,能处理换行而不用拼接问题

    let ss = `<div>
                    <span>hello world<span>
                </div>`;
    console.log(ss);

字符串插入变量和表达式。变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式,示例:与对象结构合用:

    const person = {
        name: "jack",
        age: 21,
        language: ['java', 'js', 'css']
    }
    const {
        name: abc,
        age
    } = person;


    function fun() {
        return "这是一个函数"
    }
    let info = `我是${abc},今年${age + 10}了, 我想说: ${fun()}`;
    console.log(info);//html.html:18 我是jack,今年31了, 我想说: 这是一个函数
原文地址:https://www.cnblogs.com/yanan7890/p/14865050.html