首页 > 其他分享 >ES6-变量、常量(let、const)

ES6-变量、常量(let、const)

时间:2024-10-20 22:01:16浏览次数:6  
标签:ES6 const log ... let new console

变量声明

//声明变量
let a;
let b,c,d;
let e = 100;
let f = 521, g = 'iloveyou', h = [];

//1. 变量不能重复声明
// let star = '罗志祥';
// let star = '小猪';

//2. 块儿级作用域  全局, 函数, eval
// if else while for 
// {
//     let girl = '周扬青';
// }
// console.log(girl);

//3. 不存在变量提升
// console.log(song);
// let song = '恋爱达人';

//4. 不影响作用域链
{
    let school = '尚硅谷';
    function fn(){
        console.log(school);
    }
    fn();
}

常量声明

//声明常量
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');

解构赋值

//ES6 允许按照一定模式从数组和对象中提取值,对变量进行赋值,
//这被称为解构赋值。
//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;
xiaopin();

模板字符串

// ES6 引入新的声明字符串的方式 『``』 '' "" 
//1. 声明
// let str = `我也是一个字符串哦!`;
// console.log(str, typeof str);

//2. 内容中可以直接出现换行符
let str = `<ul>
            <li>沈腾</li>
            <li>玛丽</li>
            <li>魏翔</li>
            <li>艾伦</li>
            </ul>`;
//3. 变量拼接
let lovest = '魏翔';
let out = `${lovest}是我心目中最搞笑的演员!!`;
console.log(out);

扩展运算符

// 『...』 扩展运算符能将『数组』转换为逗号分隔的『参数序列』

//1. 数组的合并 情圣  误杀  唐探
        // const kuaizi = ['王太利','肖央'];
        // const fenghuang = ['曾毅','玲花'];
        // // const zuixuanxiaopingguo = kuaizi.concat(fenghuang);
        // const zuixuanxiaopingguo = [...kuaizi, ...fenghuang];
        // console.log(zuixuanxiaopingguo);

        //2. 数组的克隆
        // const sanzhihua = ['E','G','M'];
        // const sanyecao = [...sanzhihua];//  ['E','G','M']
        // console.log(sanyecao);

        //3. 将伪数组转为真正的数组
        const divs = document.querySelectorAll('div');
        const divArr = [...divs];
        console.log(divArr);// arguments


        //声明一个数组 ...
        const tfboys = ['易烊千玺','王源','王俊凯'];
        // => '易烊千玺','王源','王俊凯'

        // 声明一个函数
        function chunwan(){
            console.log(arguments);
        }

        chunwan(...tfboys);//相当于: chunwan('易烊千玺','王源','王俊凯')

set集合

//声明一个 set
let s = new Set();
let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);

//元素个数
// console.log(s2.size);//4
//添加新的元素
// s2.add('喜事儿');
//删除元素
// s2.delete('坏事儿');
//检测
// console.log(s2.has('糟心事'));
//清空
// s2.clear();
// console.log(s2);

for(let v of s2){
    console.log(v);
}

set案例:

let arr = [1,2,3,4,5,4,3,2,1];
//1. 数组去重
// let result = [...new Set(arr)];
// console.log(result);
//2. 交集
let arr2 = [4,5,6,5,6];
// let result = [...new Set(arr)].filter(item => {
//     let s2 = new Set(arr2);// 4 5 6
//     if(s2.has(item)){
//         return true;
//     }else{
//         return false;
//     }
// });
// let result = [...new Set(arr)].filter(item => new Set(arr2).has(item));
// console.log(result);

//3. 并集
// let union = [...new Set([...arr, ...arr2])];
// console.log(union);

//4. 差集
let diff = [...new Set(arr)].filter(item => !(new Set(arr2).has(item)));
console.log(diff);

map

//声明 Map
let m = new Map();

//添加元素
m.set('name','尚硅谷');
m.set('change', function(){
    console.log("我们可以改变你!!");
});
let key = {
    school : 'ATGUIGU'
};
m.set(key, ['北京','上海','深圳']);

//size
// console.log(m.size);

//删除
// m.delete('name');

//获取
// console.log(m.get('change'));
// console.log(m.get(key));

//清空
// m.clear();

//遍历
for(let v of m){
    console.log(v);
}

// console.log(m);

标签:ES6,const,log,...,let,new,console
From: https://www.cnblogs.com/fanfan-90/p/18486972

相关文章

  • ES6-2
    简化对象写法//ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。//这样的书写更加简洁letname='尚硅谷';letchange=function(){console.log('我们可以改变你!!');}constschool={......
  • C++ constexp vs const
    C++constexpvsconstconstexpr是在C++11标准中引入的关键字,目的是为编译时常量提供更强大的支持。它允许某些表达式在编译期进行求值,从而提高性能和优化能力。下面详细说明它与const的区别。constexpr和const的区别特性constexprconst引入版本C++11C++......
  • json-server详细模拟GET、POST、DELETE等接口数据教程
    引言在前端开发过程中,我们经常需要在后端API尚未就绪的情况下模拟接口数据。json-server是一个强大而灵活的工具,可以帮助我们快速创建一个模拟的RESTfulAPI。本文将详细介绍如何使用json-server来模拟GET、POST、PUT、PATCH、DELETE等常用的HTTP方法,以及如何处理复杂的数......
  • cpp:指针转化(百度AI:static_cast/dynamic_cast/const_cast/reinterpret_cast)
    cpp:指针转化(百度AI:static_cast/dynamic_cast/const_cast/reinterpret_cast)    一、c++指针转化概述: 在C++中,指针转换主要包括静态转换、动态转换、常量转换和重新解释转换四种类型。‌ ‌1、 静态转换(static_cast)‌: -- 用于基本数据类型之间的转换,如将int转换......
  • YouCompleteMe的completer和parser
    intro在使用YCM完成c++输入提示(complete)时可以注意到一个细节:通常只有后输入“.”,"->","::"的时候提示的才是提示字段的类型信息。对于函数,提示包含了函数的参数类型等信息;对于数据成员,提示中也包含了类型信息。对应地,其它情况下尽管提示中可能会包含变量名,但是不会在preview窗......
  • C++ 基础-面试题01(C和C++区别、C结构体和C++结构体区别、C和C++ static区别、a和&a区
    1.C和C++的区别特性CC++编程范式面向过程编程面向对象编程+面向过程编程+泛型编程类和对象不支持类和对象支持类和对象,封装、继承、多态等特性标准库标准库有限,如stdio.h、stdlib.h丰富的标准库,如STL(容器、算法)函数和运算符重载不支持支持内存管理手动管理,使用malloc......
  • Let’s Verify Step by Step
    本文是LLM系列文章,针对《Let’sVerifyStepbyStep》的翻译。让我们一步一步地验证摘要1引言2方法3大规模监督4小规模合成监督5OOD泛化6讨论7相关工作8结论摘要近年来,大型语言模型在执行复杂多步推理的能力方面有了很大提高。然而,即使是最先进......
  • CMSC Manual testing Completeness SNU Score
    Homework#3Due:Friday,October18that4:00pmCSTTableofContentsHomework#3GettingstartedManualtestingCompletenessSNUScoreCodeQualitySubmissionThepurposeofthisassignmentistogiveyouexperiencewithconditionals,lists,andloops.......
  • 2019-3-13-win10-uwp-使用-ScaleTransform-放大某个元素
    titleauthordateCreateTimecategorieswin10uwp使用ScaleTransform放大某个元素lindexi2019-3-1319:5:56+08002019-03-1316:50:36+0800Win10UWP本文告诉大家如何通过ScaleTransform放大元素放大一个元素的方法有很多个,通过ScaleTransform放大是比较清真的在UWP中Sc......
  • CtsPermissionTestCases之android.permission.cts.DebuggableTest#testNoDebuggable
    平台:高通C6490,android13测试结果:android.permission.cts.DebuggableTest#testNoDebuggablefailjunit.framework.AssertionFailedError:Packagesmarkeddebuggable:[com.skyworthdigital.autotest.all] 这个问题是该测试对应的app是否有debugable的标签。解决......