首页 > 编程语言 >【JavaScript24】使用const声明常量

【JavaScript24】使用const声明常量

时间:2023-08-07 23:00:10浏览次数:34  
标签:const 常量 age JavaScript24 person PI name

前言

  • const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改。

const 声明常量

  • const定义常量与使用let 定义的变量相似:

    • 二者都是块级作用域
    • 都不能和它所在作用域内的其他变量或函数拥有相同的名称
  • 两者还有以下两点区别:

    • const声明的常量必须初始化,而let声明的变量不用
    • const 定义常量的值不能通过再赋值修改,也不能再次声明。而 let 定义的变量值可以修改。
  • 块级作用域

var a = 10;
const x = 'world';
if (a > 0){
    const x = 'hello';
    console.log(x);   // 这里输出 x 为 hello
}
console.log(x);  // 这里输出 x 为 world
  • 初始化
// 错误写法
const PI;
PI = 3.14

// 正确写法
const PI = 3.14;

//初始化后值不可再修改
const PI = 3.14;
PI = PI + 1; // 报错

并非真正的常量

  • 使用 const 定义的字符串和数字类型是不可变的,当定义一个对象或数组时,里面的内容是可以修改的。
//const 定义对象可以修改属性
const person = {
    name: "yoyo",
    age: 20,
};
person.name = 'hello';
person.age = 30;
console.log(person.name);   // hello
console.log(person.age);     // age

//但是不能给对象重新赋值
const person = {
    name: "yoyo",
    age: 20,
};
person = {name: 'xx', age: 23};  // 报错

标签:const,常量,age,JavaScript24,person,PI,name
From: https://www.cnblogs.com/xwltest/p/17610275.html

相关文章

  • Codeforces Round 890 (Div. 2) supported by Constructor Institute A-E1
    An=50非常小所以直接暴力枚举枚举每次把某个数以下的全部减完然后看一下是否上升就行 https://codeforces.com/contest/1856/submission/217275334  B题直接贪心前面优先放最小的最后一个放最大的 然后如果重复了就到前面去看能不能调整一下 https://codeforces.......
  • more and more construction problem,what should i do ?
    一些构造CF1464FShowingOff显然原图连边会形成若干内向基环树森林,所有在同一个环上的点\(S\)是相同的,注意到原图是二分图,因此所有环都是偶环。一个重要观察是,我们可以让所有环的长度都是2,因为总可以把长度\(>2\)的环拆成若干个二元环,而且在\(S_{i,j}\geq2\)的限制......
  • FileNotFoundError: Could not find module 'xxx.dll'. Try using the full path with
    首先看看报错信息 我的python版本是3.8版本,试了网上加各种办法后发现不行。然后怀疑是系统本身的问题,就下载了visual studio,用其中的dumpbin一查,发现果然少了一个dll文件。详细步骤:1.下载并安装visual studio 2.找到开发者命令工具,并打开 3.在打开的控制台上......
  • Codeforces Round 890 (Div. 2) supported by Constructor Institute
    Preface现在开始严格按照双号上分法来打CF了,大致就是每次比赛都拿两个号中分较少的那个打,这样可以保证两个号的最高分不降然后昨天打完就后悔了,没有拿hl666那个号打导致没抓住难得的上分机会,本来可以打到橙名渡劫局的但分全加在Kusanagi_Misuzu那个号上了不过昨天这场其实可以......
  • bazel 使用 gtest/gmock 报错 Constraints from @bazel_tools//platforms have been r
    问题描述运行bazeltest命令,遇到错误:“Constraintsfrom@bazel_tools//platformshavebeenremoved.Pleaseuseconstraintsfrom@platformsrepositoryembeddedinBazel,orpreferablydeclaredependencyonhttps://github.com/bazelbuild/platforms.Seehttps://gi......
  • 左值,右值,引用,指针,常量,auto如何组合?
    左值,右值,引用,指针,常量,auto如何组合?左值引用:int&a=b;左值引用是通过使用&符号来声明的,例如int&a。左值引用用于绑定到左值(可标识的、持久的、具名的),a绑定到b。左值引用允许对其绑定的对象进行修改。使用左值引用可以实现函数参数的传递和返回值的传递,以及在函数中进行......
  • Codeforces Round 890 (Div. 2) supported by Constructor Institute ————C - T
    关于这场div2,只能说一言难尽C题可以二分的,赛时看到n<=1000,直接往\(O(n^2)\)考虑,想了一会贪心的话能写出来,但是,细节太多没调出来,G掉打分。\(O(n^2)\)做法:思路:每次让i为起点,往前贪心枚举,并且当前位置如果满足,也要枚举当前区间,细节就是要注意上下限,赛时,漏了一种上界小于下届的情......
  • Deconstructf-2023-WEB
    比赛比较简单,只做web,也是ak了。where-are-the-cookies 查看robots.txtcookie是no的base64编码,改成yes的base64即可  why-are-types-weird password为 sha1('aaroZmOk')//0e66507019969427134894567494305185566735,sha1后开头是0通过若比较,登入进去尝试注入,根......
  • Codeforces Round 890 (Div. 2) supported by Constructor Institute 题解
    A.TalesofaSort关键就是找逆序对记一组逆序对下标为\(l,r\),则求出最大的\(a_l\)即可B.GoodArrays记要构造的GoodArray为\(b\)前置:\(\forall1\lei\len,b_i=1\)然后\(O(n)\)扫一遍看一下有没有重复,有重复就\(b_i\leftarrowb_i+1\)扫完之后,记\(sum=\sum_......
  • 2023广东省赛B Base Station Construction
    也许更好的阅读体验\(\mathcal{Description}\)\(n\)个点,每个点有点权,有\(m\)个区间,要选择一些点使得所有区间里都有点,求最小总点权\(n,m\le5×10^5\)\(\mathcal{Solution}\)广东省赛好水啊,感觉单挑都可以至少\(6\)题这题属于一眼题了,不知为何过的很少设\(f_i\)表示\([1,i......