


Analisis ringkas pembelajaran jenis data javascript Jenis simbol
Artikel ini akan membawa anda melalui jenis data baharu ES6: Simbol Mari kita bincangkan tentang cara mengisytiharkan dan menggunakan jenis Simbol Saya harap ia akan membantu semua orang.
Simbol ialah jenis data primitif baharu yang mewakili keunikan. Ia adalah jenis data ketujuh dalam JavaScript. Enam yang lain ialah: undefined, null, String, Number, Object
Kaedah pengisytiharan
Nilai simbol dijana melalui fungsi Simbol. Nama atribut objek boleh mempunyai dua jenis, satu ialah rentetan asal dan satu lagi ialah jenis Simbol baharu . Nama atribut adalah daripada jenis Simbol dan unik, memastikan ia tidak akan bercanggah dengan nama atribut lain. [Cadangan berkaitan: Tutorial pembelajaran javascript]
let s1=Symbol() let s2=Symbol() console.log(s1) //Symbol() console.log(s2) //Symbol() console.log(s1===s2) //false //Symbol函数能接受字符串作为参数,表示对Symbol实例的描述 let s1=Symbol('xxx') let s2=Symbol('hhh') console.log(s1) //Symbol(xxx) console.log(s2) //Symbol(hhh) console.log(s1===s2) //false复制代码
Arahan baharu tidak boleh digunakan sebelum fungsi Simbol dan ralat akan dilaporkan. Ini kerana Simbol yang dihasilkan ialah nilai jenis primitif, bukan objek. Iaitu, kerana nilai Simbol bukan objek, sifat tidak boleh ditambah. Bersamaan dengan rentetan khas.
Symbol.for() mentakrifkan Symbol secara global
Symbol.for() menerima rentetan sebagai parameter dan kemudian mencari sama ada parameter digunakan sebagai nilai Simbol nama. Jika ada, kembalikan nilai Simbol ini, jika tidak buat nilai Simbol baharu yang dinamakan dengan rentetan ini dan daftarkannya secara global.
let s1 = Symbol.for('xxx') let s2 = Symbol.for('xxx') console.log(s1 === s2) // true function foo(){ return Symbol.for('hello') } const x=foo() const y=Symbol.for('hello') console.log(x === y)//true
Symbol.for() dan Symbol() akan menjana Simbol baharu. Perbezaannya ialah yang pertama akan didaftarkan dalam persekitaran global untuk carian, manakala yang kedua tidak akan. Symbol.for() tidak akan mengembalikan nilai jenis Simbol baharu setiap kali ia dipanggil, sebaliknya, ia akan menyemak dahulu sama ada kunci yang diberikan sudah wujud, dan kemudian mencipta nilai baharu jika ia tidak wujud.
Symbol.keyFor()
Kaedah Symbol.keyFor() mengembalikan kunci nilai jenis Simbol yang didaftarkan.
const s1 = Symbol('foo') console.log(Symbol.keyFor(s1)) // undefined const s2 = Symbol.for('foo') console.log(Symbol.keyFor(s2)) // foo
Senario aplikasi
Sebagai nama atribut
Memandangkan nilai Simbol tidak sama, ini bermakna Nilai simbol boleh digunakan sebagai pengecam dan digunakan dalam nama atribut objek untuk memastikan atribut dengan nama yang sama tidak akan muncul. Ini berguna apabila objek terdiri daripada berbilang modul, untuk mengelakkan kunci daripada ditimpa atau ditimpa secara tidak sengaja.
const grade={ 张三:{address:'qqq',tel:'111'}, 李四:{address:'aaa',tel:'222'}, 李四:{address:'sss',tel:'333'}, } console.log(grade) //张三: {address: "qqq", tel: "111"} 李四: {address: "sss", tel: "333"} //对象的key值不能重复 如果有重复 后面的value值就会覆盖前面的 //使用Symbol解决,相当于一个独一无二的字符串 const stu1=Symbol('李四') const stu2=Symbol('李四') console.log(stu1===stu2) //false const grade={ [stu1]:{address:'aaa',tel:'222'}, [stu2]:{address:'sss',tel:'333'}, } console.log(grade) //李四:{address:'sss',tel:'222'} 李四:{address:'sss',tel:'333'} console.log(grade[stu1]) //李四:{address:'sss',tel:'222'} console.log(grade[stu2]) //李四:{address:'sss',tel:'333'}
Atribut traversal
const sym=Symbol('imooc') class User{ constructor(name){ this.name=name this[sym]='imooc.com' } getName(){ return this.name+this[sym] } } const user=new User('www') //for in的方法不能遍历到Symbol属性 像被隐藏了 for(let key in user){ console.log(key)//name } //Object.keys(obj)方法也不能遍历到Symbol属性 for(let key of Object.keys(user)){ console.log(key)//name } //Object.getOwnPropertySymbols(obj)只能获取到Symbol属性 for(let key of Object.getOwnPropertySymbols(user)){ console.log(key)//Symbol(imooc) } //Reflect.ownKeys(obj)对象的属性都能获取到 for(let key of Reflect.ownKeys(user)){ console.log(key) //name //Symbol(imooc) }
Hapuskan rentetan ajaib
Rentetan ajaib merujuk kepada, dalam A rentetan atau nilai tertentu yang muncul beberapa kali dalam kod dan membentuk gandingan kuat dengan kod. Kod dengan gaya yang baik harus cuba menghilangkan rentetan ajaib dan menggantikannya dengan pembolehubah dengan makna yang jelas.
function getArea(shape) { let area = 0 switch (shape) { case 'Triangle': area = 1 break case 'Circle': area = 2 break } return area } console.log(getArea('Triangle')) //Triangle和Circle就是魔术字符串。多次出现,与代码形成了“强耦合”,不利于后面的修改和维护。 const shapeType = { triangle: Symbol(), circle: Symbol() } function getArea(shape) { let area = 0 switch (shape) { case shapeType.triangle: area = 1 break case shapeType.circle: area = 2 break } return area } console.log(getArea(shapeType.triangle))
Saya seorang pemula hadapan jika terdapat sebarang kandungan yang salah dalam artikel, sila beri saya nasihat dan perbincangan!
[Tutorial video berkaitan yang disyorkan: bahagian hadapan web]
Atas ialah kandungan terperinci Analisis ringkas pembelajaran jenis data javascript Jenis simbol. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dalam pangkalan data MySQL, medan jantina biasanya boleh disimpan menggunakan jenis ENUM. ENUM ialah jenis penghitungan yang membolehkan kita memilih satu sebagai nilai medan daripada set nilai yang dipratentukan. ENUM ialah pilihan yang baik apabila mewakili pilihan tetap dan terhad seperti jantina. Mari lihat contoh kod tertentu: Katakan kita mempunyai jadual yang dipanggil "pengguna" yang mengandungi maklumat pengguna, termasuk jantina. Sekarang kita ingin mencipta medan untuk jantina, kita boleh mereka bentuk struktur jadual seperti ini: CRE

Dalam MySQL, jenis data yang paling sesuai untuk medan jantina ialah jenis penghitungan ENUM. Jenis penghitungan ENUM ialah jenis data yang membenarkan definisi set nilai yang mungkin Medan jantina sesuai untuk menggunakan jenis ENUM kerana jantina biasanya hanya mempunyai dua nilai, iaitu lelaki dan perempuan. Seterusnya, saya akan menggunakan contoh kod khusus untuk menunjukkan cara mencipta medan jantina dalam MySQL dan menggunakan jenis penghitungan ENUM untuk menyimpan maklumat jantina. Berikut adalah langkah-langkahnya: Pertama, buat jadual bernama pengguna dalam MySQL, termasuk

Python digunakan secara meluas dalam pelbagai bidang dengan sintaksnya yang ringkas dan mudah dibaca. Menguasai struktur asas sintaks Python adalah penting, kedua-duanya untuk meningkatkan kecekapan pengaturcaraan dan untuk mendapatkan pemahaman yang mendalam tentang cara kod tersebut berfungsi. Untuk tujuan ini, artikel ini menyediakan peta minda komprehensif yang memperincikan pelbagai aspek sintaks Python. Pembolehubah dan Jenis Data Pembolehubah ialah bekas yang digunakan untuk menyimpan data dalam Python. Peta minda menunjukkan jenis data Python biasa, termasuk integer, nombor titik terapung, rentetan, nilai Boolean dan senarai. Setiap jenis data mempunyai ciri dan kaedah operasinya sendiri. Operator Operator digunakan untuk melaksanakan pelbagai operasi pada jenis data. Peta minda merangkumi jenis operator yang berbeza dalam Python, seperti operator aritmetik, nisbah

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Penjelasan terperinci tentang penggunaan jenis Boolean dalam MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan Dalam aplikasi praktikal, selalunya perlu menggunakan jenis Boolean untuk mewakili nilai logik benar dan salah. Terdapat dua kaedah perwakilan jenis Boolean dalam MySQL: TINYINT(1) dan BOOL. Artikel ini akan memperkenalkan secara terperinci penggunaan jenis Boolean dalam MySQL, termasuk definisi, tugasan, pertanyaan dan pengubahsuaian jenis Boolean, dan menerangkannya dengan contoh kod tertentu. 1. Jenis Boolean ditakrifkan dalam MySQL dan boleh

Apabila mereka bentuk jadual pangkalan data, memilih jenis data yang sesuai adalah sangat penting untuk pengoptimuman prestasi dan kecekapan penyimpanan data. Dalam pangkalan data MySQL, sebenarnya tiada apa yang dipanggil pilihan terbaik untuk jenis data untuk menyimpan medan jantina, kerana medan jantina umumnya hanya mempunyai dua nilai: lelaki atau perempuan. Tetapi untuk kecekapan dan penjimatan ruang, kami boleh memilih jenis data yang sesuai untuk menyimpan medan jantina. Dalam MySQL, jenis data yang paling biasa digunakan untuk menyimpan medan jantina ialah jenis penghitungan. Jenis penghitungan ialah jenis data yang boleh mengehadkan nilai medan kepada set terhad.

Bahasa C ialah bahasa pengaturcaraan komputer yang digunakan secara meluas yang cekap, fleksibel dan berkuasa. Untuk mahir dalam pengaturcaraan dalam bahasa C, anda perlu memahami sintaks asas dan jenis datanya. Artikel ini akan memperkenalkan sintaks asas dan jenis data bahasa C dan memberi contoh. 1. Sintaks asas 1.1 Komen Dalam bahasa C, komen boleh digunakan untuk menerangkan kod untuk memudahkan pemahaman dan penyelenggaraan. Komen boleh dibahagikan kepada komen satu baris dan komen berbilang baris. //Ini ulasan satu baris/*Ini ulasan berbilang baris*/1.2 Bahasa C Kata Kunci

1. Pengenalan kepada Python Python ialah bahasa pengaturcaraan tujuan umum yang mudah dipelajari dan berkuasa Ia dicipta oleh Guido van Rossum pada tahun 1991. Falsafah reka bentuk Python menekankan kebolehbacaan kod dan menyediakan pembangun perpustakaan dan alatan yang kaya untuk membantu mereka membina pelbagai aplikasi dengan cepat dan cekap. 2. Sintaks asas Python Sintaks asas Python adalah serupa dengan bahasa pengaturcaraan lain, termasuk pembolehubah, jenis data, pengendali, penyataan aliran kawalan, dsb. Pembolehubah digunakan untuk menyimpan data Jenis data mentakrifkan jenis data yang boleh disimpan oleh pembolehubah. 3. Jenis data Python dalam Python
