前端基础1-6 :es6

点击跳转,详细查看es6

const常量

const LIMIT = 10;
const OBJ_MAP = {a: 'A',A: 'a'
}

1. 不允许重复声明赋值

    var arg1 = 'a'arg1 = 'aa'// 常量 - ES5Object.defineProperty(window, 'arg2', {value: 'aaa',writable: false})// ES6const arg2 = 'aaa'

2. 块级作用域

    if (true) {console.log(arg1)var arg1 = 'aa'}console.log(arg1)if (true) {const arg1 = 'aa'}// dead zone => 先声明赋值 再使用

3. const 和 let

    // 会被改变的对象,到底用const还是let?const obj = {teacher: 'aa',date: '20240530'}obj.teacher = ''const obj2 = obj// 1. 栈 + 2. 堆// 能用const的地方,都用const// 面试:如何对一个对象进行常量化?// 破局 - Object.freeze()Object.freeze(obj)// 追问:只能冻结根层?const obj = {teacher: 'aa',date: '20240530',course: {course1: 'basic',course2: 'trial'}}function deepFreeze(obj) {Object.freeze(obj)(Object.keys(obj) || []).forEach(key => {if (typeof obj[key] === 'object') {deepFreeze(obj[key])}})}

deconstruction 解构 - 解开对象结构

    const obj = {teacher: 'yy',course: 'es'}const {teacher,course} = obj;const arr = [1, 2, 3, 4, 5]const [a, b, c, d, e] = arr;let a = 1;let b = 2;[b, a] = [a, b]

arrow_function 箭头函数

    // 传统函数function test(a, b) {return a + b;}const test = function(a, b) {return a + b;}const test = (a, b) => {return a + b;}const test = (a, b) => a + b;const test = x => {}

上下文

    const obj2 = {teacher: 'aa',course: 'es',table: ['black', 'red'],getTeacher: function() {return this.teacher;},getTable: () => {// 不存在独立上下文}}

class 助力js更加具有面向对象的形式 - 类

    // 传统类型的对象 - functionfunction Course(teacher, course) {this.teacher = teacherthis.course = course}Course.prototype.getCourse = function() {return `teacher is ${this.teacher}`;}const course = new Course('aa', 'ES')const course1 = new Course('aa1', 'ES2')// ES6class Course {constructor(teacher, course) {this.teacher = teacherthis.course = course}getTeacher() {return ''}static getCourse() {}}const course = new Course('aa', 'ES')course.getTeacher()Course.getCourse()

追问

class 的类型是什么?

Function => Object => null

class的prototype

    Course.prototype

class 函数对象的属性

    course.hasOwnProperty('teacher')
// 1. 如何建立只读变量class Course {constructor(teacher, course) {this._teacher = teacherlet _course = 'es'this.getCourse = () => {return _course}}// get teacher() {//     return this._teacher// }}class Course {#course = 'es6'set course(val) {if (val) {this.#course = val}}}// 3. 封装核心 - 适配器模式// {//     name: {//         value: 'lodash',//         tag: 124,//         name: 'es6'//     }// }class utils {constructor(core) {this._main = corethis._name = 'myName'}get name() {return {...this._main.name,name: `${this._name}`}}set name(val) {this._name = val}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/19873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【技术实操】银河高级服务器操作系统实例分享,达梦数据库服务器 oom 问题分析

1. 服务器环境以及配置 【 机型】 处理器: HUAWEIKunpeng 920 5220 内存: 400518528 kB 主板型号: Chaoqiang K620 series 整机类型/架构: ARM BIOS 版本: KL4.41.028.TF.220224.R 固件版本: KL4.41…

AI能否代替ACE

什么是ACE ? 申请ACE需要以下条件: 1.发表与oracle相关的技术博客 2.参与Oracle相关的技术大会 3.对Oracle社区做出贡献。 这正好是AI应用的场景吗? 在一个群里有个群友质疑AI落地,以及应用领域? Kelvin:我一直在迷茫,学不好。这么多有趣AI 问题&…

Redis-Cluster模式基操篇

一、场景 1、搞一套6个主节点的Cluster集群 2、模拟数据正常读写 3、模拟单点故障 4、在不停服务的情况下将集群架构改为3主3从 二、环境规划 6台独立的服务器,端口18001~18006 192.169.14.121 192.169.14.122 192.169.14.123 192.169.14.124 192.169.14.125 192…

迁移ISE ChipScope逻辑分析器到Vivado硬件管理器

迁移ISE ChipScope逻辑分析器到Vivado硬件管理器 介绍 本章介绍AMD Vivado™Design Suite硬件管理器,以及这些工具之间的关系 到ISE™设计套件ChipScope™逻辑分析器工具,以及如何迁移IP核 从ISE ChipScope环境到Vivado Design Suite。 Vivado硬件管理器…

Gitlub如何删除分支(删除远程分支+本地分支)

目录 背景 删除方法 总结 背景 想要删除自己在本地创建的并已上传到远程分支中的分支。 删除方法 1)删除远程分支 git push origin --delete brannchname 2)删除本地分支 先切换到其他分支 git checkout otherbranch 删除本地分支 git bran…

使用LLaMA-Factory微调大模型

使用LLaMA-Factory微调大模型 github 地址 https://github.com/hiyouga/LLaMA-Factory 搭建环境 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory在 LLaMA-Factory 路径下 创建虚拟环境 conda create -p ./venv python3.10激活环境 c…

Spring Boot项目中的Controller、Service、Mapper和Entity层的作用与联系

效率工具 推荐一个程序员常用的工具网站:程序员常用工具(http://tools.cxyroad.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。 云服务器 云服务器限时免费领:轻量…

为参数设置默认值

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 调用函数时,如果没有指定某个参数将抛出异常,为了解决这个问题,我们可以为参数设置默认值,即在定义函…

Oracle Linux上安装ORDS

ORDS就是Oracle REST Data Services。 环境如下: Oracle Linux 8Oracle Database 19cIP地址为A.B.C.D 要安装最新版本的ORDS,当前为24.1.1。 全程参考文档:Installing and Configuring Oracle REST Data Services 安装ORDS 添加reposit…

org.apache.kafka.clients.consumer.CommitFailedException

kafka报org.apache.kafka.clients.consumer.CommitFailedException问题分析 org.apache.kafka.clients.consumer.CommitFailedException: Commit cannot be completed since the group has already rebalanced and assigned the partitions to another member. This means that…

使用反射调用Android隐藏API

前情提要 每一次Android大版本的升级,往往会有大量的APP出现兼容性问题,导致这个情况的主要原因是由于APP的热修复SDKs以及依赖Android internal API(内部API),也就是非SDK API。这些API是指标记hide的类、方法以及字段,它们不属…

多线程的坑

有以下列表, List shardingCreateTablesList new ArrayList(); shardingCreateTablesList.add(“tb1”); shardingCreateTablesList.add(“tb2”); shardingCreateTablesList.add(“tb3”); shardingCreateTablesList.add(“tb4”); shardingCreateTablesList.add(…

ReDos攻击浅析

DOS为拒绝服务攻击,re则是由于正则表达式使用不当,陷入正则引擎的回溯陷阱导致服务崩溃,大量消耗后台性能 正则 ​ 探讨redos攻击之前,首先了解下正则的一些知识 执行过程 大体的执行过程分为: 编译 -> 执行编译过程中&…

数据标准的制定落地

目录 什么是数据标准 基本定义 目的 数据标准体系分类 从内容层面分类 从管理视角分类 从面向的对象分类 从数据结构的角度分类 数据标准价值 业务价值 技术价值 管理价值 数据标准和数据治理的关系 数据标准在数据治理各项任务中的作用 数据标准与主数据 数据…

实用软件分享---超级轻量级的强力卸载软件工具UninstallView_1.51

专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug;如果软件不可用了,我知道后会第一时间在题目上注明(已失效)。介意者请勿订阅。 声明2:本专栏的…

JS中的 ?. ?? ??=

1.可选链(?.) /*只有当a存在,同时a具有name属性的时候,才会把值赋给b,否则就会将undefined赋值给b.重要的是,不管a存在与否,这么做都不会报错.*/let a;let b a?.name;//undefinedconst arr [{ name: "ww" }, { name: "qq" }];console.log(arr?.[0]);/…

Kubernetes 之 StatefulSet基本原理

Kubernetes 之 StatefulSet StatefulSet 定义 StatefulSet 是一个有状态的集合,不同于一般 Pod 的一致性,不同的 Stateful Set 创建的 Pod 之间存在数据上的差异。同时它们是有序的,这样它们在故障或删除后恢复,自身的名字也不会…

django中,出现CSRF verification failed. Request aborted.错误

这是跨站点访问的防范机制&#xff0c;csrf是一个令牌&#xff0c;会验证登录&#xff0c;需要在setting中把 "django.middleware.csrViewMiddleware" 注释掉 并在html文件中的<body>内添加 {% csrf token %} 就可以了

Star CCM+边界层设置

边界层介绍 在流体仿真中&#xff0c;边界层是指靠近实体表面的流体区域&#xff0c;其作用是描述流体在实体表面附近的速度和压力分布。边界层主要影响着物体表面的摩擦阻力、热传导以及质量传输等现象。 一般来说&#xff0c;在流体仿真中会设置一到三层不同厚度的边界层。…

JZ2440笔记:rtc驱动

在common-smdk.c里smdk_devs添加&s3c_device_rtc 重新编译uImage&#xff0c;测试&#xff1a; # ls /dev/rtc* -l crw-rw---- 1 0 0 254, 0 May 6 21:58 /dev/rtc0 # date Tue May 6 21:59:56 UTC 1975 # date 05311448202420 date: invalid date …