JavaScript fitur runtime 2.0 untuk Fungsi CloudFront - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

JavaScript fitur runtime 2.0 untuk Fungsi CloudFront

Lingkungan JavaScript runtime CloudFront Functions sesuai dengan ECMAScript(ES) versi 5.1 dan juga mendukung beberapa fitur ES versi 6 hingga 12. Lingkungan ini juga menyediakan beberapa metode standar yang bukan bagian dari spesifikasi ES. Topik berikut mencantumkan semua fitur yang didukung dalam runtime ini.

Fitur inti

Mendukung fitur inti ES berikut.

Jenis

Mendukung semua jenis ES 5.1. Ini termasuk nilai boolean, angka, string, objek, array, fungsi, dan ekspresi reguler.

Operator

Mendukung Semua operator ES 5.1 didukung.

Mendukung operator eksponensial ES 7 (**).

Pernyataan

Mendukung pernyataan ES 5.1 berikut:

  • break

  • catch

  • continue

  • do-while

  • else

  • finally

  • for

  • for-in

  • if

  • label

  • return

  • switch

  • throw

  • try

  • var

  • while

Pernyataan ES 6 berikut didukung:

  • async

  • await

  • const

  • let

    catatan

    async,await,const, dan let baru di JavaScript runtime 2.0.

Literal

Literal template ES 6 didukung: string multiline, interpolasi ekspresi, dan templat bersarang.

Fungsi

Mendukung semua fitur fungsi ES 5.1.

Mendukung fungsi panah ES 6 didukung, dan sintaks parameter ES 6 sintaks parameter istirahat.

Unicode

Sumber teks dan literal string dapat berisi karakter Unicode yang dikodekan. Juga mendukung unicode code point escape sequence enam karakter (misalnya, \uXXXX).

Mode ketat

Fungsi beroperasi dalam mode ketat secara default, sehingga Anda tidak perlu menambahkan pernyataan use strict dalam kode fungsi Anda. Ini tidak dapat diubah.

Objek primitif

Mendukung objek primitif ES berikut.

Objek

Mendukung metode ES 5.1 berikut pada objek:

  • Object.create() (tanpa daftar properti)

  • Object.defineProperties()

  • Object.defineProperty()

  • Object.freeze()

  • Object.getOwnPropertyDescriptor()

  • Object.getOwnPropertyDescriptors()

  • Object.getOwnPropertyNames()

  • Object.getPrototypeOf()

  • Object.isExtensible()

  • Object.isFrozen()

  • Object.isSealed()

  • Object.keys()

  • Object.preventExtensions()

  • Object.seal()

Mendukung metode ES 6 berikut pada objek:

  • Object.assign()

Mendukung metode ES 8 berikut pada objek:

  • Object.entries()

  • Object.values()

Metode prototipe ES 5.1 berikut pada objek didukung:

  • Object.prototype.hasOwnProperty()

  • Object.prototype.isPrototypeOf()

  • Object.prototype.propertyIsEnumerable()

  • Object.prototype.toString()

  • Object.prototype.valueOf()

Metode prototipe ES 6 berikut pada objek didukung:

  • Object.prototype.is()

  • Object.prototype.setPrototypeOf()

String

Mendukung metode ES 5.1 berikut pada string:

  • String.fromCharCode()

Mendukung metode ES 6 berikut pada string:

  • String.fromCodePoint()

Metode prototipe ES 5.1 berikut pada string didukung:

  • String.prototype.charAt()

  • String.prototype.concat()

  • String.prototype.indexOf()

  • String.prototype.lastIndexOf()

  • String.prototype.match()

  • String.prototype.replace()

  • String.prototype.search()

  • String.prototype.slice()

  • String.prototype.split()

  • String.prototype.substr()

  • String.prototype.substring()

  • String.prototype.toLowerCase()

  • String.prototype.trim()

  • String.prototype.toUpperCase()

Metode prototipe ES 6 berikut pada string didukung:

  • String.prototype.codePointAt()

  • String.prototype.endsWith()

  • String.prototype.includes()

  • String.prototype.repeat()

  • String.prototype.startsWith()

Metode prototipe ES 8 berikut pada string didukung:

  • String.prototype.padStart()

  • String.prototype.padEnd()

Metode prototipe ES 9 berikut pada string didukung:

  • String.prototype.trimStart()

  • String.prototype.trimEnd()

Metode prototipe ES 12 berikut pada string didukung:

  • String.prototype.replaceAll()

    catatan

    String.prototype.replaceAll()baru di JavaScript runtime 2.0.

Jumlah

ALLNomor ES 5 didukung.

Properti ES 6 berikut pada angka didukung:

  • Number.EPSILON

  • Number.MAX_SAFE_INTEGER

  • Number.MIN_SAFE_INTEGER

  • Number.MAX_VALUE

  • Number.MIN_VALUE

  • Number.NaN

  • Number.NEGATIVE_INFINITY

  • Number.POSITIVE_INFINITY

Mendukung metode ES 6 berikut pada nomor:

  • Number.isFinite()

  • Number.isInteger()

  • Number.isNaN()

  • Number.isSafeInteger()

  • Number.parseInt()

  • Number.parseFloat()

Metode prototipe ES 5.1 berikut pada angka didukung:

  • Number.prototype.toExponential()

  • Number.prototype.toFixed()

  • Number.prototype.toPrecision()

Pemisah numerik ES 12 didukung.

catatan

Pemisah numerik ES 12 baru di JavaScript runtime 2.0.

Objek bawaan

Mendukung objek ES bawaan berikut.

Matematika

Mendukung semua metode matematika ES 5.1.

catatan

Di lingkungan runtime CloudFront Functions, Math.random() implementasi menggunakan Open BSD arc4random seeded dengan stempel waktu saat fungsi berjalan.

Properti matematika ES 6 berikut didukung:

  • Math.E

  • Math.LN10

  • Math.LN2

  • Math.LOG10E

  • Math.LOG2E

  • Math.PI

  • Math.SQRT1_2

  • Math.SQRT2

Mendukung metode matematika ES 6 berikut:

  • Math.abs()

  • Math.acos()

  • Math.acosh()

  • Math.asin()

  • Math.asinh()

  • Math.atan()

  • Math.atan2()

  • Math.atanh()

  • Math.cbrt()

  • Math.ceil()

  • Math.clz32()

  • Math.cos()

  • Math.cosh()

  • Math.exp()

  • Math.expm1()

  • Math.floor()

  • Math.fround()

  • Math.hypot()

  • Math.imul()

  • Math.log()

  • Math.log1p()

  • Math.log2()

  • Math.log10()

  • Math.max()

  • Math.min()

  • Math.pow()

  • Math.random()

  • Math.round()

  • Math.sign()

  • Math.sinh()

  • Math.sin()

  • Math.sqrt()

  • Math.tan()

  • Math.tanh()

  • Math.trunc()

Tanggal

Mendukung semua fitur ES 5.1 Date.

catatan

Untuk alasan keamanan, Date selalu mengembalikan nilai yang sama—waktu mulai fungsi ini—saat menjalankan fungsi tunggal. Untuk informasi selengkapnya, lihat Fitur yang dibatasi.

Fungsi

Metode prototipe ES 5.1 berikut didukung:

  • Function.prototype.apply()

  • Function.prototype.bind()

  • Function.prototype.call()

Tidak mendukung konstruktor fungsi.

Ekspresi reguler

Mendukung semua fitur ekspresi reguler ES 5.1. Bahasa ekspresi reguler adalah kompatibel dengan Perl.

Properti pengakses prototipe ES 5.1 berikut didukung:

  • RegExp.prototype.global

  • RegExp.prototype.ignoreCase

  • RegExp.protoype.multiline

  • RegExp.protoype.source

  • RegExp.prototype.sticky

  • RegExp.prototype.flags

    catatan

    RegExp.prototype.stickydan RegExp.prototype.flags baru di JavaScript runtime 2.0.

Metode prototipe ES 5.1 berikut didukung:

  • RegExp.prototype.exec()

  • RegExp.prototype.test()

  • RegExp.prototype.toString()

  • RegExp.prototype[@@replace]()

  • RegExp.prototype[@@split]()

    catatan

    RegExp.prototype[@@split]()baru di JavaScript runtime 2.0.

Properti instans ES 5.1 berikut didukung:

  • lastIndex

Mendukung kelompok penangkap bernama ES 9.

JSON

Metode ES 5.1 berikut didukung:

  • JSON.parse()

  • JSON.stringify()

Array

Mendukung metode ES 5.1 berikut pada susunan:

  • Array.isArray()

Mendukung metode ES 6 berikut pada susunan:

  • Array.of()

Metode prototipe ES 5.1 berikut didukung:

  • Array.prototype.concat()

  • Array.prototype.every()

  • Array.prototype.filter()

  • Array.prototype.forEach()

  • Array.prototype.indexOf()

  • Array.prototype.join()

  • Array.prototype.lastIndexOf()

  • Array.prototype.map()

  • Array.prototype.pop()

  • Array.prototype.push()

  • Array.prototype.reduce()

  • Array.prototype.reduceRight()

  • Array.prototype.reverse()

  • Array.prototype.shift()

  • Array.prototype.slice()

  • Array.prototype.some()

  • Array.prototype.sort()

  • Array.prototype.splice()

  • Array.prototype.unshift()

Metode prototipe ES 6 berikut didukung

  • Array.prototype.copyWithin()

  • Array.prototype.fill()

  • Array.prototype.find()

  • Array.prototype.findIndex()

Metode prototipe ES 7 berikut didukung:

  • Array.prototype.includes()

Susunan yang dijeniskan

Konstruktor array yang diketik ES 6 berikut didukung:

  • Float32Array

  • Float64Array

  • Int8Array

  • Int16Array

  • Int32Array

  • Uint8Array

  • Uint8ClampedArray

  • Uint16Array

  • Uint32Array

Metode ES 6 berikut didukung:

  • TypedArray.from()

  • TypedArray.of()

    catatan

    TypedArray.from()dan TypedArray.of() baru di JavaScript runtime 2.0.

Metode prototipe ES 6 berikut didukung:

  • TypedArray.prototype.copyWithin()

  • TypedArray.prototype.every()

  • TypedArray.prototype.fill()

  • TypedArray.prototype.filter()

  • TypedArray.prototype.find()

  • TypedArray.prototype.findIndex()

  • TypedArray.prototype.forEach()

  • TypedArray.prototype.includes()

  • TypedArray.prototype.indexOf()

  • TypedArray.prototype.join()

  • TypedArray.prototype.lastIndexOf()

  • TypedArray.prototype.map()

  • TypedArray.prototype.reduce()

  • TypedArray.prototype.reduceRight()

  • TypedArray.prototype.reverse()

  • TypedArray.prototype.some()

  • TypedArray.prototype.set()

  • TypedArray.prototype.slice()

  • TypedArray.prototype.sort()

  • TypedArray.prototype.subarray()

  • TypedArray.prototype.toString()

    catatan

    TypedArray.prototype.every(),TypedArray.prototype.fill(),TypedArray.prototype.filter(),TypedArray.prototype.find(),TypedArray.prototype.findIndex(),,TypedArray.prototype.forEach(),TypedArray.prototype.includes(),TypedArray.prototype.indexOf(),TypedArray.prototype.join(),TypedArray.prototype.lastIndexOf(),TypedArray.prototype.map(),TypedArray.prototype.reduce(),TypedArray.prototype.reduceRight(),TypedArray.prototype.reverse(),, dan TypedArray.prototype.some() baru di JavaScript runtime 2.0.

ArrayBuffer

Metode ES 6 berikut ArrayBuffer didukung:

  • isView()

Metode prototipe ES 6 berikut ArrayBuffer didukung:

  • ArrayBuffer.prototype.slice()

Janji

Metode ES 6 berikut pada janji didukung:

  • Promise.all()

  • Promise.allSettled()

  • Promise.any()

  • Promise.reject()

  • Promise.resolve()

  • Promise.race()

    catatan

    Promise.all(),Promise.allSettled(),Promise.any(), dan Promise.race() baru di JavaScript runtime 2.0.

Metode prototipe ES 6 berikut pada janji didukung:

  • Promise.prototype.catch()

  • Promise.prototype.finally()

  • Promise.prototype.then()

DataView

Metode prototipe ES 6 berikut didukung:

  • DataView.prototype.getFloat32()

  • DataView.prototype.getFloat64()

  • DataView.prototype.getInt16()

  • DataView.prototype.getInt32()

  • DataView.prototype.getInt8()

  • DataView.prototype.getUint16()

  • DataView.prototype.getUint32()

  • DataView.prototype.getUint8()

  • DataView.prototype.setFloat32()

  • DataView.prototype.setFloat64()

  • DataView.prototype.setInt16()

  • DataView.prototype.setInt32()

  • DataView.prototype.setInt8()

  • DataView.prototype.setUint16()

  • DataView.prototype.setUint32()

  • DataView.prototype.setUint8()

    catatan

    Semua metode prototipe Dataview ES 6 baru di JavaScript runtime 2.0.

Simbol

Metode ES 6 berikut didukung:

  • Symbol.for()

  • Symbol.keyfor()

    catatan

    Semua metode Symbol ES 6 baru di JavaScript runtime 2.0.

Teks Decoder

Metode prototipe berikut didukung:

  • TextDecoder.prototype.decode()

Properti pengakses prototipe berikut didukung:

  • TextDecoder.prototype.encoding

  • TextDecoder.prototype.fatal

  • TextDecoder.prototype.ignoreBOM

Encoder Teks

Metode prototipe berikut didukung:

  • TextEncoder.prototype.encode()

  • TextEncoder.prototype.encodeInto()

Jenis kesalahan

Mendukung objek kesalahan berikut:

  • Error

  • EvalError

  • InternalError

  • RangeError

  • ReferenceError

  • SyntaxError

  • TypeError

  • URIError

Global

Mendukung objek globalThis.

Mendukung fungsi global ES 5.1 berikut:

  • decodeURI()

  • decodeURIComponent()

  • encodeURI()

  • encodeURIComponent()

  • isFinite()

  • isNaN()

  • parseFloat()

  • parseInt()

Fungsi global ES 6 berikut didukung:

  • atob()

  • btoa()

    catatan

    atob()dan btoa() baru di JavaScript runtime 2.0.

Mendukung konstanta global berikut:

  • NaN

  • Infinity

  • undefined

  • arguments

Modul bawaan

Mendukung modul bawaan berikut.

Penyangga

Modul ini menyediakan metode berikut:

  • Buffer.alloc(size[, fill[, encoding]])

    Alokasikan a. Buffer

    • size: Ukuran penyangga. Masukkan bilangan bulat.

    • fill: Opsional. Masukkan string,Buffer, Uint8Array, atau integer. Default-nya adalah 0.

    • encoding: Opsional. fillKapan string, masukkan salah satu dari berikut ini:utf8,hex,base64,base64url. Default-nya adalah utf8.

  • Buffer.allocUnsafe(size)

    Alokasikan Buffer non-inisialisasi.

    • size: Masukkan bilangan bulat.

  • Buffer.byteLength(value[, encoding])

    Kembalikan panjang nilai, dalam byte.

    • value: Sebuah string,,Buffer, Dataview TypedArray, atau Arraybuffer.

    • encoding: Opsional. valueKapan string, masukkan salah satu dari berikut ini:utf8,hex,base64,base64url. Default-nya adalah utf8.

  • Buffer.compare(buffer1, buffer2)

    Bandingkan dua Buffer s untuk membantu mengurutkan array. Mengembalikan 0 jika mereka sama, -1 jika buffer1 datang lebih dulu, atau 1 jika buffer2 datang lebih dulu.

    • buffer1: Masukkan aBuffer.

    • buffer2: Masukkan yang berbedaBuffer.

  • Buffer.concat(list[, totalLength])

    Gandungkan beberapa s. Buffer Kembali 0 jika tidak ada. Kembali hinggatotalLength.

    • list: Masukkan daftar Buffer s. Perhatikan ini akan dipotong menjadi. totalLength

    • totalLength: Opsional. Masukkan bilangan bulat yang tidak ditandatangani. Gunakan jumlah Buffer instance dalam daftar jika kosong.

  • Buffer.from(array)

    Buat Buffer dari array.

    • array: Masukkan array byte dari 0 ke255.

  • Buffer.from(arrayBuffer, byteOffset[, length]))

    Buat tampilan dariarrayBuffer, mulai dari offset byteOffset dengan panjanglength.

    • arrayBuffer: Masukkan Buffer array.

    • byteOffset: Masukkan bilangan bulat.

    • length: Opsional. Masukkan bilangan bulat.

  • Buffer.from(buffer)

    Buat salinan dariBuffer.

    • buffer: Masukkan aBuffer.

  • Buffer.from(object[, offsetOrEncoding[, length]])

    Buat Buffer dari objek. Mengembalikan Buffer.from(object.valueOf(), offsetOrEncoding, length) jika valueOf() tidak sama dengan objek.

    • object: Masukkan objek.

    • offsetOrEncoding: Opsional. Masukkan integer atau string encoding.

    • length: Opsional. Masukkan bilangan bulat.

  • Buffer.from(string[, encoding])

    Buat Buffer dari string.

    • string: Masukkan string.

    • encoding: Opsional. Masukkan salah satu dari berikut ini:utf8,hex,base64,base64url. Default-nya adalah utf8.

  • Buffer.isBuffer(object)

    Periksa apakah object itu Buffer. Pengembalian true ataufalse.

    • object: Masukkan objek.

  • Buffer.isEncoding(encoding)

    Periksa encoding apakah didukung. Pengembalian true ataufalse.

    • encoding: Opsional. Masukkan salah satu dari berikut ini:utf8,hex,base64,base64url. Default-nya adalah utf8.

Modul ini menyediakan metode prototipe buffer berikut:

  • Buffer.prototype.compare(target[, targetStart[, targetEnd[, sourceStart[, sourceEnd]]]])

    Bandingkan Buffer dengan target. Mengembalikan 0 jika mereka sama, 1 jika buffer datang lebih dulu, atau -1 jika target datang lebih dulu.

    • target: Masukkan aBuffer.

    • targetStart: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

    • targetEnd: Opsional. Masukkan bilangan bulat. Defaultnya adalah target panjang.

    • sourceStart: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

    • sourceEnd: Opsional. Masukkan bilangan bulat. Defaultnya adalah Buffer panjang.

  • Buffer.prototype.copy(target[, targetStart[, sourceStart[, sourceEnd]]])

    Salin buffer ketarget.

    • target: Masukkan a Buffer atauUint8Array.

    • targetStart: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

    • sourceStart: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

    • sourceEnd: Opsional. Masukkan bilangan bulat. Defaultnya adalah Buffer panjang.

  • Buffer.prototype.equals(otherBuffer)

    Bandingkan Buffer denganotherBuffer. Pengembalian true ataufalse.

    • otherBuffer: Masukkan string.

  • Buffer.prototype.fill(value[, offset[, end][, encoding])

    Isi Buffer denganvalue.

    • value: Masukkan string,Buffer, atau bilangan bulat.

    • offset: Opsional. Masukkan bilangan bulat.

    • end: Opsional. Masukkan bilangan bulat.

    • encoding: Opsional. Masukkan salah satu dari berikut ini:utf8,hex,base64,base64url. Default-nya adalah utf8.

  • Buffer.prototype.includes(value[, byteOffset][, encoding])

    Cari value diBuffer. Pengembalian true ataufalse.

    • value: Masukkan string,, BufferUint8Array, atau bilangan bulat.

    • byteOffset: Opsional. Masukkan bilangan bulat.

    • encoding: Opsional. Masukkan salah satu dari berikut ini:utf8,hex,base64,base64url. Default-nya adalah utf8.

  • Buffer.prototype.indexOf(value[, byteOffset][, encoding])

    Cari yang pertama value diBuffer. Mengembalikan index jika ditemukan; kembali -1 jika tidak ditemukan.

    • value: Masukkan string,Buffer, Unit8Array, atau bilangan bulat dari 0 hingga 255.

    • byteOffset: Opsional. Masukkan bilangan bulat.

    • encoding: Opsional. Masukkan salah satu dari berikut jika value adalah string:utf8,hex,base64,base64url. Default-nya adalah utf8.

  • Buffer.prototype.lastIndexOf(value[, byteOffset][, encoding])

    Cari yang terakhir value diBuffer. Mengembalikan index jika ditemukan; kembali -1 jika tidak ditemukan.

    • value: Masukkan string,Buffer, Unit8Array, atau bilangan bulat dari 0 hingga 255.

    • byteOffset: Opsional. Masukkan bilangan bulat.

    • encoding: Opsional. Masukkan salah satu dari berikut jika value adalah string:utf8,hex,base64,base64url. Default-nya adalah utf8.

  • Buffer.prototype.readInt8(offset)

    Baca Int8 di offset dariBuffer.

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readIntBE(offset, byteLength)

    Baca Int sebagai big-endian di from. offset Buffer

    • offset: Masukkan bilangan bulat.

    • byteLength: Opsional. Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.readInt16BE(offset)

    Baca Int16 sebagai big-endian di from. offset Buffer

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readInt32BE(offset)

    Baca Int32 sebagai big-endian di from. offset Buffer

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readIntLE(offset, byteLength)

    Baca Int sebagai endian kecil di dari. offset Buffer

    • offset: Masukkan bilangan bulat.

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.readInt16LE(offset)

    Baca Int16 sebagai endian kecil di dari. offset Buffer

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readInt32LE(offset)

    Baca Int32 sebagai endian kecil di dari. offset Buffer

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readUInt8(offset)

    Baca UInt8 di offset dariBuffer.

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readUIntBE(offset, byteLength)

    Baca UInt sebagai big-endian di from. offset Buffer

    • offset: Masukkan bilangan bulat.

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.readUInt16BE(offset)

    Baca UInt16 sebagai big-endian di from. offset Buffer

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readUInt32BE(offset)

    Baca UInt32 sebagai big-endian di from. offset Buffer

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readUIntLE(offset, byteLength)

    Baca UInt sebagai endian kecil di dari. offset Buffer

    • offset: Masukkan bilangan bulat.

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.readUInt16LE(offset)

    Baca UInt16 sebagai endian kecil di dari. offset Buffer

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readUInt32LE(offset)

    Baca UInt32 sebagai endian kecil di dari. offset Buffer

    • offset: Masukkan bilangan bulat.

  • Buffer.prototype.readDoubleBE([offset])

    Baca 64-bit ganda sebagai big-endian di from. offset Buffer

    • offset: Opsional. Masukkan bilangan bulat.

  • Buffer.prototype.readDoubleLE([offset])

    Baca 64-bit ganda sebagai endian kecil di from. offset Buffer

    • offset: Opsional. Masukkan bilangan bulat.

  • Buffer.prototype.readFloatBE([offset])

    Baca float 32-bit sebagai big-endian di from. offset Buffer

    • offset: Opsional. Masukkan bilangan bulat.

  • Buffer.prototype.readFloatLE([offset])

    Baca float 32-bit sebagai endian kecil di from. offset Buffer

    • offset: Opsional. Masukkan bilangan bulat.

  • Buffer.prototype.subarray([start[, end]])

    Mengembalikan salinan Buffer yang diimbangi dan dipotong dengan yang baru start dan. end

    • start: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

    • end: Opsional. Masukkan bilangan bulat. Default adalah panjang buffer.

  • Buffer.prototype.swap16()

    Tukar urutan byte Buffer array, memperlakukannya sebagai array angka 16-bit. Bufferpanjangnya harus habis dibagi 2, atau Anda akan menerima kesalahan.

  • Buffer.prototype.swap32()

    Tukar urutan byte Buffer array, memperlakukannya sebagai array angka 32-bit. Bufferpanjangnya harus habis dibagi 4, atau Anda akan menerima kesalahan.

  • Buffer.prototype.swap64()

    Tukar urutan byte Buffer array, memperlakukannya sebagai array angka 64-bit. Bufferpanjangnya harus habis dibagi 8, atau Anda akan menerima kesalahan.

  • Buffer.prototype.toJSON()

    Kembali Buffer sebagai aJSON.

  • Buffer.prototype.toString([encoding[, start[, end]]])

    KonversiBuffer, dari start keend, ke string yang dikodekan.

    • encoding: Opsional. Masukkan salah satu dari berikut ini:utf8,hex,base64, ataubase64url. Default-nya adalah utf8.

    • start: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

    • end: Opsional. Masukkan bilangan bulat. Default adalah panjang buffer.

  • Buffer.prototype.write(string[, offset[, length]][, encoding])

    Tulis dikodekan string ke Buffer jika ada spasi, atau terpotong string jika tidak ada cukup ruang.

    • string: Masukkan string.

    • offset: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

    • length: Opsional. Masukkan bilangan bulat. Default adalah panjang string.

    • encoding: Opsional. Secara opsional masukkan salah satu dari berikut ini:utf8,hex,base64, ataubase64url. Default-nya adalah utf8.

  • Buffer.prototype.writeInt8(value, offset, byteLength)

    Menulis Int8 value dari byteLength at offset keBuffer.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeIntBE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan big-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeInt16BE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan big-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeInt32BE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan big-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeIntLE(offset, byteLength)

    Menulis value di offset keBuffer, menggunakan little-endian.

    • offset: Masukkan bilangan bulat.

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeInt16LE(offset, byteLength)

    Menulis value di offset keBuffer, menggunakan little-endian.

    • offset: Masukkan bilangan bulat.

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeInt32LE(offset, byteLength)

    Menulis value di offset keBuffer, menggunakan little-endian.

    • offset: Masukkan bilangan bulat.

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeUInt8(value, offset, byteLength)

    Menulis UInt8 value dari byteLength at offset keBuffer.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeUIntBE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan big-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeUInt16BE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan big-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeUInt32BE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan big-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeUIntLE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan little-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeUInt16LE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan little-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeUInt32LE(value, offset, byteLength)

    Menulis value di offset keBuffer, menggunakan little-endian.

    • value: Masukkan bilangan bulat.

    • offset: Masukkan bilangan bulat

    • byteLength: Masukkan bilangan bulat dari 1 ke6.

  • Buffer.prototype.writeDoubleBE(value, [offset])

    Menulis value di offset keBuffer, menggunakan big-endian.

    • value: Masukkan bilangan bulat.

    • offset: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

  • Buffer.prototype.writeDoubleLE(value, [offset])

    Menulis value di offset keBuffer, menggunakan little-endian.

    • value: Masukkan bilangan bulat.

    • offset: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

  • Buffer.prototype.writeFloatBE(value, [offset])

    Menulis value di offset keBuffer, menggunakan big-endian.

    • value: Masukkan bilangan bulat.

    • offset: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

  • Buffer.prototype.writeFloatLE(value, [offset])

    Menulis value di offset keBuffer, menggunakan little-endian.

    • value: Masukkan bilangan bulat.

    • offset: Opsional. Masukkan bilangan bulat. Default-nya adalah 0.

Metode contoh berikut didukung:

  • buffer[index]

    Dapatkan dan atur oktet (byte) di index dalam. Buffer

    • Dapatkan nomor dari 0 ke255. Atau tetapkan angka dari dari 0 ke255.

Properti contoh berikut didukung:

  • buffer

    Dapatkan ArrayBuffer objek untuk buffer.

  • byteOffset

    Dapatkan Arraybuffer objek buffer. byteOffset

  • length

    Dapatkan jumlah byte buffer.

catatan

Semua metode modul Buffer baru di JavaScript runtime 2.0.

String kueri

catatan

Objek acara CloudFront Functions secara otomatis mem-parsing string URL kueri untuk Anda. Itu berarti bahwa dalam kebanyakan kasus Anda tidak perlu menggunakan modul ini.

Query string module (querystring) menyediakan metode untuk parsing dan format URL query string. Anda dapat memuat modul menggunakan require('querystring'). Modul ini menyediakan metode berikut.

querystring.escape(string)

URL-mengkodekan yang diberikanstring, mengembalikan string kueri yang lolos. Metode ini digunakan oleh querystring.stringify() dan tidak boleh digunakan secara langsung.

querystring.parse(string[, separator[, equal[, options]]])

Mengurai string kueri (string) dan mengembalikan objek.

Parameter separator adalah substring untuk membatasi pasangan kunci dan nilai dalam string kueri. Secara default, itu adalah &.

Parameter equal adalah substring untuk membatasi kunci dan nilai dalam string kueri. Secara default, itu adalah =.

Parameter options adalah objek dengan kunci berikut:

decodeURIComponent function

Sebuah fungsi untuk memecahkan kode karakter persentase dikodekan dalam string kueri. Secara default, itu adalah querystring.unescape().

maxKeys number

Jumlah kunci maksimum untuk diurai Secara default, itu adalah 1000. Gunakan nilai 0 untuk menghapus pembatasan untuk menghitung kunci.

Secara default, karakter yang dikodekan persen dalam string kueri diasumsikan menggunakan pengkodean -8. UTF Urutan UTF -8 tidak valid diganti dengan karakter pengganti. U+FFFD

Misalnya, untuk string kueri berikut:

'name=value&abc=xyz&abc=123'

Nilai querystring.parse() yang dikembalikan adalah:

{ name: 'value', abc: ['xyz', '123'] }

querystring.decode() adalah alias untuk querystring.parse().

querystring.stringify(object[, separator[, equal[, options]]])

Menyerialisasi object dan mengembalikan string kueri.

Parameter separator adalah substring untuk membatasi pasangan kunci dan nilai dalam string kueri. Secara default, itu adalah &.

Parameter equal adalah substring untuk membatasi kunci dan nilai dalam string kueri. Secara default, itu adalah =.

Parameter options adalah objek dengan kunci berikut:

encodeURIComponent function

Fungsi yang digunakan untuk mengonversi karakter URL -unsafe ke encoding persen dalam string kueri. Secara default, itu adalah querystring.escape().

Secara default, karakter yang memerlukan pengkodean persen dalam string kueri dikodekan sebagai -8. UTF Untuk menggunakan pengkodean yang berbeda, tentukan opsi encodeURIComponent.

Misalnya, gunakan kode berikut:

querystring.stringify({ name: 'value', abc: ['xyz', '123'], anotherName: '' });

Nilai yang dikembalikan adalah:

'name=value&abc=xyz&abc=123&anotherName='

querystring.encode() adalah alias untuk querystring.stringify().

querystring.unescape(string)

Mendekode karakter yang URL dikodekan persen dalam yang diberikan, mengembalikan string kueri yang tidak string terlolos. Metode ini digunakan oleh querystring.parse() dan tidak boleh digunakan secara langsung.

Kripto

Modul kriptografi (crypto) menyediakan hashing standar dan kode otentikasi pesan berbasis hash () pembantu. HMAC Anda dapat memuat modul menggunakan require('crypto').

Metode hashing

crypto.createHash(algorithm)

Menciptakan dan mengembalikan objek hash yang dapat digunakan untuk menghasilkan hash digests menggunakan algoritme yang diberikan: md5, sha1, atau sha256.

hash.update(data)

Update konten hash dengan data yang tersedia.

hash.digest([encoding])

Menghitung digest dari semua data yang diteruskan menggunakan hash.update(). Pengkodean dapat berupa hex, base64, atau base64url.

HMACmetode

crypto.createHmac(algorithm, secret key)

Menciptakan dan mengembalikan HMAC objek yang menggunakan yang diberikan algorithm dansecret key. Algoritma dapat berupa md5, sha1, atau sha256.

hmac.update(data)

Memperbarui HMAC konten dengan yang diberikandata.

hmac.digest([encoding])

Menghitung digest dari semua data yang diteruskan menggunakan hmac.update(). Pengkodean dapat berupa hex, base64, atau base64url.

Fitur yang dibatasi

Fitur JavaScript bahasa berikut tidak didukung atau dibatasi karena masalah keamanan.

Evaluasi kode dinamis

Evaluasi kode dinamis tidak didukung. Konstruktor eval() dan Function mengalami kesalahan jika dicoba. Misalnya, const sum = new Function('a', 'b', 'return a + b') mengalami kesalahan.

Timer

Fungsi setTimeout(), setImmediate(), dan clearTimeout() tidak didukung. Tidak ada ketentuan untuk menunda atau menghasilkan dalam fungsi jalankan. Fungsi Anda harus dijalankan secara serentak sampai selesai.

Tanggal dan stempel waktu

Untuk alasan keamanan, tidak ada akses ke timer beresolusi tinggi. Semua metode Date untuk meminta waktu saat ini selalu mengembalikan nilai yang sama saat menjalankan fungsi tunggal. Stempel waktu yang dikembalikan adalah waktu fungsi mulai berjalan. Akibatnya, Anda tidak dapat mengukur waktu berlalu dalam fungsi Anda.

Akses sistem file

Tidak ada akses sistem file. Misalnya, tidak ada modul fs untuk akses sistem file seperti yang ada di Node.js.

Akses proses

Tidak ada akses proses. Misalnya, tidak ada objek process global untuk memproses akses informasi seperti yang ada di Node.js.

Variabel-variabel lingkungan

Tidak ada akses ke variabel lingkungan. Sebagai gantinya, Anda dapat menggunakan CloudFront KeyValueStore untuk membuat datastore terpusat dari pasangan kunci-nilai untuk Fungsi Anda. CloudFront CloudFront KeyValueStore memungkinkan pembaruan dinamis ke data konfigurasi Anda tanpa perlu menerapkan perubahan kode. Untuk informasi selengkapnya, lihat Amazon CloudFront KeyValueStore.

Akses jaringan

Tidak ada dukungan untuk panggilan jaringan. Misalnya,XHR, HTTP (S), dan soket tidak didukung.