Skip to content
This repository has been archived by the owner on Mar 22, 2021. It is now read-only.

予約語などで変数名などを作らないようにする #9

Closed
narumincho opened this issue Jan 18, 2020 · 4 comments
Closed

Comments

@narumincho
Copy link
Owner

No description provided.

@narumincho
Copy link
Owner Author

narumincho commented Jan 18, 2020

ここに予約語が書かれている
https://www.ecma-international.org/ecma-262/#sec-reserved-words

Keywords キーワードの予約語

  • await
  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • export
  • extends
  • finally
  • for
  • function
  • if
  • import
  • in
  • instanceof
  • new
  • return
  • super
  • switch
  • this
  • throw
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield

"use strict"の厳格モードでは

  • let
  • static

も予約語になる

Future Reserved Words 将来のための予約語

  • enum

"use strict"の厳格モードでは

  • implements
  • package
  • protected
  • interface
  • private
  • public

も予約語になる

NullLiteral nullリテラル

  • null

BooleanLiteral booleanリテラル

  • true
  • false

@narumincho
Copy link
Owner Author

TypeScriptでは以下のものが文脈によっては使えなくなる

  • any
  • boolean
  • constructor
  • declare
  • get
  • module
  • require
  • number
  • set
  • string
  • symbol
  • type
  • from
  • of
  • as

microsoft/TypeScript#2536

@narumincho
Copy link
Owner Author

基本的に"use strict"を使う厳格モードを想定していて、文脈に応じて使えるワードと使えないワードを分けるのは大変なので、上に書いてある語句の変数、型は作られないようにする

@narumincho
Copy link
Owner Author

TypeScriptで、型名としてunknownが使えないようになってたんだ。
microsoft/TypeScript#24439

  • unknown

変数名には使えなくもないけど、紛らわしいので弾くようにしよう

narumincho added a commit that referenced this issue Jan 19, 2020
narumincho added a commit that referenced this issue Jan 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant