検索
ホームページphp教程PHP开发ES6のletコマンドとconstコマンドの詳細な説明

let と const で宣言された変数はコード ブロック内でのみ有効です

{
let a = 10;
var b = 1;
}
a // ReferenceError: a is not defined.
b // 1

変数の昇格はありません

変数は宣言後に使用する必要があります。そうでないとエラーが報告されます

var tmp = 123;
if (true) {
tmp = 'abc'; // ReferenceError
let tmp;
}

重複した宣言は許可されません

// 报错
function () {
let a = 10;
var a = 1;
}

ブロックレベルのスコープ

function f() { console.log('I am outside!'); }
(function () {
if(false) {
// 重复声明一次函数f
function f() { console.log('I am inside!'); }
}
f();
}());
//I am inside! ES5 函数提升
//I am outside! ES6 块级作用域

constコマンド

一度宣言されると、定数の値は変更できません

。宣言された場合は、すぐに初期化する必要があり、将来

let コマンド、const コマンド、class コマンドで宣言されたグローバル変数はグローバル オブジェクトの属性ではありません

var a = 1;
// 如果在Node的REPL环境,可以写成global.a
// 或者采用通用方法,写成this.a
window.a // 1
let b = 1;
window.b // undefined

次に紹介しますES6 の const コマンドは別途必要です

これは常に ecma に基づいています。 js には定数の概念がありませんでしたが、es6 はこの欠陥を補いました

上記の例は、基本的な定数を宣言しています。初期値を変更しようとすると、エラーが報告されます。参照型の値の場合も同様ですが、次のような点に注意する必要があります。

普通にエラーを報告します。何も問題はありません。もう一度見てください:

const foo='foo';
foo='bar';//TypeError: Assignment to constant variable.

どうしてエラーが報告されないのでしょうか?そして改造は成功するのでしょうか? これら 2 つの例の違いは、前者ではポインターが変更され (js 参照型に精通している必要があります)、対応するコンテンツが変更されているのに対し、後者では同じものを指していませんが、オブジェクトのコンテンツが変更されていることです。 foo の場合、ポインタは対応するオブジェクトを指すだけです。オブジェクトの内容は関係ないため、内容を変更したくない場合は、別のメソッドを使用できます。

const foo=[];  
foo=[1];//Assignment to constant variable.

この方法では、変更されることを心配する必要はありません。

ES6 の let および const コマンドに関する詳細な記事については、PHP 中国語 Web サイトに注目してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。