petamoriken / safe-at

A safe version of .at #fix_ecmascript_at

Home Page:https://es.discourse.group/t/fix-at/983

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

safe-at

A safe version of .at #fix_ecmascript_at

See this TC39 discourse topic


Native .at method is very harmful:

const arr = [1, 2, 3];
console.log(arr.at("foo")); // => 1
console.log(arr.at(NaN)); // => 1
console.log(arr.at(1.5)); // => 2

You can use safe-at instead:

import safeAt from "safe-at";

const arr = [1, 2, 3];
console.log(safeAt(arr, "foo")); // => undefined
console.log(safeAt(arr, NaN)); // => undefined
console.log(safeAt(arr, 1.5)); // => undefined

Install

npm install safe-at

Import

Node.js

// ES Modules
import safeAt from "safe-at";
// CommonJS
const safeAt = require("safe-at");

Deno

import safeAt from "https://deno.land/x/safe_at/mod.ts";

About

A safe version of .at #fix_ecmascript_at

https://es.discourse.group/t/fix-at/983

License:MIT License


Languages

Language:JavaScript 97.1%Language:TypeScript 2.9%