您好!欢迎访问家园网-www.jy.wang!

家园网

48个关键字

网络 作者:本站 点击:


1. ‌abstract

  • 词源‌:拉丁语"abstractus"(抽离)

  • JS含义‌:保留字(未实现),TypeScript中用于定义抽象类

  • 示例‌:

    typescriptCopy Codeabstract class Animal {  abstract makeSound(): void;
    }

2. ‌arguments

  • 词源‌:数学术语"argument"(参数)

  • JS含义‌:函数内类数组参数对象

  • 示例‌:

    javascriptCopy Codefunction sum() {  return [...arguments].reduce((a,b) => a+b);
    }sum(1,2,3); // 6

3. ‌await

  • 词源‌:古法语"awaitier"(等待)

  • JS含义‌:暂停异步函数执行直到Promise完成

  • 示例‌:

    javascriptCopy Codeasync function fetchData() {  const data = await fetch('/api');  return data.json();
    }

4. ‌boolean

  • 词源‌:数学家George Boole

  • JS含义‌:原始逻辑类型(true/false)

  • 示例‌:

    javascriptCopy Codeconsole.log(typeof true); // "boolean"

5. ‌break

  • 词源‌:古英语"brecan"(打断)

  • JS含义‌:跳出循环/switch

  • 示例‌:

    javascriptCopy Codewhile(true) {  if(condition) break;
    }

6. ‌case

  • 词源‌:拉丁语"casus"(情况)

  • JS含义‌:switch语句的分支条件

  • 示例‌:

    javascriptCopy Codeswitch(x) {  case 1: console.log("one"); break;
    }

7. ‌catch

  • 词源‌:古法语"chacier"(捕捉)

  • JS含义‌:捕获try块中的异常

  • 示例‌:

    javascriptCopy Codetry { risky() } catch(e) { console.error(e) }

8. ‌class

  • 词源‌:拉丁语"classis"(分类)

  • JS含义‌:ES6类声明语法

  • 示例‌:

    javascriptCopy Codeclass Person {  constructor(name) { this.name = name }
    }

9. ‌const

  • 词源‌:拉丁语"constans"(恒定)

  • JS含义‌:声明不可变绑定

  • 示例‌:

    javascriptCopy Codeconst PI = 3.14;

10. ‌continue

  • 词源‌:拉丁语"continuare"(继续)

  • JS含义‌:跳过当前循环迭代

  • 示例‌:

    javascriptCopy Codefor(let i=0; i<10; i++) {  if(i%2) continue;  console.log(i); // 只输出偶数}

11. ‌debugger

  • 词源‌:计算机术语"debug"

  • JS含义‌:触发断点调试

  • 示例‌:

    javascriptCopy Codefunction buggy() {  debugger; // 执行到此会暂停}

12. ‌default

  • 词源‌:古法语"defaut"(默认)

  • JS含义‌:switch/import的默认分支

  • 示例‌:

    javascriptCopy Codeswitch(x) {  default: console.log("unknown");
    }

13. ‌delete

  • 词源‌:拉丁语"deletus"(删除)

  • JS含义‌:删除对象属性

  • 示例‌:

    javascriptCopy Codeconst obj = {a:1};delete obj.a; // obj变为{}

14. ‌do

  • 词源‌:古英语"don"(执行)

  • JS含义‌:do-while循环起始

  • 示例‌:

    javascriptCopy Codedo {  // 至少执行一次} while(condition)

15. ‌else

  • 词源‌:古英语"elles"(其他)

  • JS含义‌:if语句的否定分支

  • 示例‌:

    javascriptCopy Codeif(condition) {  // ...} else {  // ...}

16. ‌enum

  • 词源‌:拉丁语"enumeratio"(枚举)

  • JS现状‌:保留字(TypeScript实现枚举)

  • 示例‌:

    typescriptCopy Codeenum Color { Red, Green }

17. ‌eval

  • 词源‌:"evaluate"缩写

  • JS含义‌:执行字符串代码(有安全风险)

  • 示例‌:

    javascriptCopy Codeeval("console.log('dangerous')");

18. ‌export

  • 词源‌:拉丁语"exportare"(输出)

  • JS含义‌:模块导出声明

  • 示例‌:

    javascriptCopy Codeexport const name = 'module';

19. ‌extends

  • 词源‌:拉丁语"extendere"(扩展)

  • JS含义‌:类继承声明

  • 示例‌:

    javascriptCopy Codeclass Child extends Parent {}

20. ‌finally

  • 词源‌:古英语"fin"(结束)

  • JS含义‌:try-catch最终执行块

  • 示例‌:

    javascriptCopy Codetry { ... } finally { /* 总会执行 */ }

21. ‌for

  • 词源‌:古英语"for"(为了)

  • JS含义‌:循环控制结构

  • 示例‌:

    javascriptCopy Codefor(let i=0; i<10; i++) { ... }

22. ‌function

  • 词源‌:拉丁语"functio"(功能)

  • JS含义‌:函数声明关键字

  • 示例‌:

    javascriptCopy Codefunction greet() { return "Hello" }

23. ‌goto

  • 词源‌:汇编语言跳转指令

  • JS现状‌:保留字(未实现)

  • 历史‌:Dijkstra在1968年论文中批评其导致"面条代码"

24. ‌if

  • 词源‌:古英语"gif"(如果)

  • JS含义‌:条件判断

  • 示例‌:

    javascriptCopy Codeif(age >= 18) { ... }

25. ‌implements

  • 词源‌:拉丁语"implere"(实现)

  • JS现状‌:保留字(TypeScript接口实现)

  • 示例‌:

    typescriptCopy Codeclass A implements B { ... }

26. ‌import

  • 词源‌:拉丁语"importare"(引入)

  • JS含义‌:模块导入

  • 示例‌:

    javascriptCopy Codeimport React from 'react';

27. ‌in

  • 词源‌:古英语"in"(在...内)

  • JS含义‌:属性存在性检查

  • 示例‌:

    javascriptCopy Code'toString' in {}; // true

28. ‌instanceof

  • 词源‌:OOP术语

  • JS含义‌:检测对象原型链

  • 示例‌:

    javascriptCopy Code[] instanceof Array; // true

29. ‌interface

  • 词源‌:拉丁语"interfacies"(交互面)

  • JS现状‌:保留字(TypeScript实现接口)

  • 示例‌:

    typescriptCopy Codeinterface User { name: string }

30. ‌let

  • 词源‌:古英语"lettan"(允许)

  • JS含义‌:块级作用域变量声明

  • 示例‌:

    javascriptCopy Codelet x = 10;

31. ‌new

  • 词源‌:古英语"neowe"(新建)

  • JS含义‌:创建对象实例

  • 示例‌:

    javascriptCopy Codeconst date = new Date();

32. ‌package

  • 词源‌:法语"paquet"(包裹)

  • JS现状‌:保留字(未使用)

  • 关联‌:Node.js的package.json

33. ‌private

  • 词源‌:拉丁语"privatus"(私有)

  • JS现状‌:保留字(TypeScript私有属性)

  • 示例‌:

    typescriptCopy Codeclass A { private x = 1 }

34. ‌protected

  • 词源‌:拉丁语"protectus"(受保护的)

  • JS现状‌:保留字(TypeScript保护属性)

  • 示例‌:

    typescriptCopy Codeclass B { protected y = 2 }

35. ‌public

  • 词源‌:拉丁语"publicus"(公共的)

  • JS现状‌:保留字(TypeScript公共属性)

  • 示例‌:

    typescriptCopy Codeclass C { public z = 3 }

36. ‌return

  • 词源‌:古法语"retourner"(返回)

  • JS含义‌:函数返回值

  • 示例‌:

    javascriptCopy Codefunction add(a,b) { return a + b }

37. ‌static

  • 词源‌:希腊语"statikos"(静止的)

  • JS含义‌:声明类静态成员

  • 示例‌:

    javascriptCopy Codeclass Math {  static PI = 3.14;
    }

38. ‌super

  • 词源‌:拉丁语"super"(在上)

  • JS含义‌:访问父类属性和方法

  • 示例‌:

    javascriptCopy Codeclass Child extends Parent {  constructor() { super() }
    }

39. ‌switch

  • 词源‌:古英语"swician"(切换)

  • JS含义‌:多条件分支语句

  • 示例‌:

    javascriptCopy Codeswitch(x) {  case 1: /*...*/ break;
    }

40. ‌this

  • 词源‌:古英语"þes"(这个)

  • JS含义‌:执行上下文引用

  • 示例‌:

    javascriptCopy Codeconst obj = {  name: 'obj',  log() { console.log(this.name) }
    }

41. ‌throw

  • 词源‌:古英语"þrawan"(投掷)

  • JS含义‌:抛出异常

  • 示例‌:

    javascriptCopy Codeif(!valid) throw new Error('Invalid');

42. ‌try

  • 词源‌:古法语"trier"(尝试)

  • JS含义‌:异常处理起始块

  • 示例‌:

    javascriptCopy Codetry { risky() } catch(e) { /*...*/ }

43. ‌typeof

  • 词源‌:类型检查操作符

  • JS含义‌:返回变量类型字符串

  • 示例‌:

    javascriptCopy Codetypeof 42; // "number"

44. ‌void

  • 词源‌:拉丁语"vocitus"(空的)

  • JS含义‌:返回undefined

  • 示例‌:

    javascriptCopy Codevoid alert('返回undefined');

45. ‌var

  • 词源‌:"variable"缩写

  • JS含义‌:函数作用域变量声明(已淘汰)

  • 示例‌:

    javascriptCopy Codevar x = 10; // 避免使用

46. ‌while

  • 词源‌:古英语"hwil"(当...时)

  • JS含义‌:循环控制

  • 示例‌:

    javascriptCopy Codewhile(condition) { /*...*/ }

47. ‌with

  • 词源‌:古英语"wið"(伴随)

  • JS现状‌:已废弃的作用域扩展

  • 问题‌:

    javascriptCopy Codewith(obj) { 
      // 可能意外覆盖全局变量
      name = 'danger'; 
    }

48. ‌yield

  • 词源‌:古英语"gieldan"(产生)

  • JS含义‌:生成器函数暂停点

  • 示例‌:

    javascriptCopy Codefunction* gen() {  yield 1;  yield 2;
    }

数一数多少个:abstract, arguments, await, boolean, break, case, catch, class, const, continue, debugger, default, delete, do, else, enum, eval, export, extends, finally, for, function, goto, if, implements, import, in, instanceof, interface, let, new, package, private, protected, public, return, static, super, switch, this, throw, try, typeof, void, var, while, with, yield

思考完成

























































根据您提供的列表,我进行了详细统计:

完整列表统计

  1. abstract

  2. arguments

  3. await

  4. boolean

  5. break

  6. case

  7. catch

  8. class

  9. const

  10. continue

  11. debugger

  12. default

  13. delete

  14. do

  15. else

  16. enum

  17. eval

  18. export

  19. extends

  20. finally

  21. for

  22. function

  23. goto

  24. if

  25. implements

  26. import

  27. in

  28. instanceof

  29. interface

  30. let

  31. new

  32. package

  33. private

  34. protected

  35. public

  36. return

  37. static

  38. super

  39. switch

  40. this

  41. throw

  42. try

  43. typeof

  44. void

  45. var

  46. while

  47. with

  48. yield

统计结果

  • 总数量‌:48个

  • 实际关键字数量‌:46个(其中gotopackage是保留字但未实现功能)

  • 特殊分类‌:

    • 严格模式保留字:10个(如letstatic等)

    • ES6新增关键字:8个(如classyield等)

    • 已废弃关键字:1个(with

验证过程

javascriptCopy Codeconst keywords = [  'abstract','arguments','await','boolean','break','case','catch','class','const','continue',  'debugger','default','delete','do','else','enum','eval','export','extends','finally',  'for','function','goto','if','implements','import','in','instanceof','interface','let',  'new','package','private','protected','public','return','static','super','switch','this',  'throw','try','typeof','void','var','while','with','yield'];console.log(keywords.length); // 输出48

结论:列表包含48个单词,其中46个是JavaScript实际使用的关键字/保留字,其余2个(gotopackage)是保留字但无实际功能。

一段话总结一下JavaScript中不能作为变量名和函数名字的常见关键字,字数500字左右,陈述式,不要要点式,可2-3段

共参考25篇资料


























在JavaScript中,有一组被语言保留的标识符,它们具有特殊含义或为未来扩展预留,因此不能用作变量名或函数名。这些关键字包括当前使用的核心语法元素(如ifelsefor等循环和条件控制语句)以及函数声明(function)、变量声明(varletconst)等基础结构12。例如,break用于终止循环,return用于函数返回值,throw用于抛出异常,这些关键字若被误用为变量名,会导致语法错误或逻辑混乱45。此外,部分关键字如this(指向当前执行上下文)和super(调用父类方法)在面向对象编程中扮演核心角色,其特殊语义使得它们必须被严格保留5

另一类需避开的标识符是保留字,即当前虽未启用但可能在未来版本中成为关键字的词汇。例如,abstractimplementsinterface等源自Java的面向对象特性,在JavaScript中虽无实际功能,但已被列为保留字以兼容未来扩展23。类似地,packagesynchronized等与模块化或多线程相关的词汇也属于此类。值得注意的是,truefalsenull等字面量值以及typeofvoid等操作符同样具有固定语义,若作为变量名会覆盖其原生功能5。例如,将true赋值为false会破坏布尔逻辑的预期行为,而用typeof命名变量会导致类型检查操作符失效3。开发者需通过代码规范工具(如ESLint)或静态检查提前规避此类命名冲突,确保代码的可维护性16

标签: