Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Setting, deleting and retrieving cookies in Typescript.
Copy link

ricocheting commented Oct 8, 2020

The error Object is possibly 'undefined' appears to be from typescript thinking .pop() can return an undefined result (even though the length check should prevent that).

For me it goes away with:

if (parts.length === 2) {
	const ppop = parts.pop();
	if (ppop) {
		return ppop.split(";").shift();

Copy link

tp00012x commented Oct 30, 2020

You are missing the return type for getCookie.

Copy link

benediktvaldez commented Mar 17, 2021

Just commenting to say that with the latest typescript you could solve the pop undefined scenario like this

export function getCookie(name: string) {
    const value = "; " + document.cookie;
    const parts = value.split("; " + name + "=");
    if (parts.length == 2) {
        return parts.pop()?.split(";").shift();

Alternatively if you'd like to consistently return a string you could do it like this

  return (
    (parts.length === 2 &&
        .shift()) ||

Copy link

kittanat-mos commented Jun 11, 2021

thank you krub

Copy link

AbbottF commented May 14, 2022

Thank you. This has helped me weening myself from jQuery Libraries...and morphing my js to ts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment