{
    "path": "/home/krm/dev/mimer-academia/programing/js/datatypes/Sections/string.sv.json",
    "s": "Ignor",
    "invert": true,
    "level": 1,
    "title": [
        "Hur \"string\" fungerar i JS"
    ],
    "author": [
        "krm"
    ],
    "created": {
        "year": 2018,
        "month": 9,
        "day": 27
    },
    "status": "alpha",
    "description": [],
    "statments": [],
    "comment": [],
    "cards": [
        {
            "level": 1,
            "title": [
                "# 👁️‍🗨️ Om vad man behöver kunna om strings/strängar?"
            ],
            "description": [],
            "statments": [
                {
                    "description": [
                        "En mycket vanlig datatype som använda i många olika sammanhang."
                    ]
                },
                {
                    "description": [
                        "Det svenska namnet är sträng, men i daglit tal förekommer ofta den engelska varianten."
                    ]
                },
                {
                    "description": [
                        "Förstålse uppyggnadne av och metoder implementer i strängar."
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "❓ Vad är en sträng?"
            ],
            "description": [
                "Vi ger här en ungefärligt deinition och förklaring, se länk för exakt definition."
            ],
            "statments": [
                {
                    "description": [
                        "Helt enkelt en vanligt test som vi kan använda i js."
                    ]
                },
                {
                    "description": [
                        "Det är en följd av tecken som skapar en text."
                    ]
                },
                {
                    "description": [
                        "Dessa tecken kan vara i UNICODE, vilket gör det enkelt för oss."
                    ]
                },
                {
                    "description": [
                        "De kan också vara \"escape sequences\"."
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "📣 Några kommentar om strängar"
            ],
            "description": [
                "Strängar beter sig i mycket som array:er men är inga arrayer."
            ],
            "statments": [
                {
                    "description": [
                        "De är \"oförändliga(immutable)\""
                    ]
                },
                {
                    "description": [
                        "Du kan alltså alldrig ändra ett tecken genom t.ex: let a= \"abba\"; a",
                        [
                            "2"
                        ],
                        "=\"b\";"
                    ]
                },
                {
                    "description": [
                        "med mera."
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "type": "application",
            "title": [
                "Strängar används mycket"
            ],
            "description": [
                "Det finns väldigt många siituationer då du behäver en string."
            ],
            "statments": [
                {
                    "description": [
                        "Om du läser in data ifrån en fil."
                    ]
                },
                {
                    "description": [
                        "Om du ska skriva något till en användare."
                    ]
                },
                {
                    "description": [
                        "Om du ska besvara ett anrop(request) med ett html dokument."
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "🀄️ Strängar i alla språk?"
            ],
            "description": [
                "Stängar finns i alla språk."
            ],
            "statments": [
                {
                    "description": [
                        "I visa äldre språk så som C har inte stöd för UNICODE."
                    ]
                },
                {
                    "description": [
                        "Visa enkla metoder för sträng hantering sakans i t.ex. C++."
                    ]
                },
                {
                    "description": [
                        "I php blir mycket automatiskt typomvandlat till strängar."
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "🔄 Hur konvertera något till en sträng?"
            ],
            "description": [
                "Det är ofta nödvändigt att typomvandla till en sträng."
            ],
            "statments": [
                {
                    "description": [
                        "let one = String(1);"
                    ]
                },
                {
                    "description": [
                        "\"\"+1;"
                    ]
                },
                {
                    "description": [
                        "Number(1).toString();"
                    ]
                },
                {
                    "description": [
                        "Om du har ett objekt så kan du implmentera en method ",
                        [
                            {
                                "form": "important"
                            },
                            "toString"
                        ],
                        " för att få automatisk omvandling."
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "🔬 Hur vet vi att en variabel är en sträng?"
            ],
            "description": [
                "Det är faktiskt rätt så lätt."
            ],
            "statments": [
                {
                    "description": [
                        "let b = \"Bamse\";"
                    ]
                },
                {
                    "description": [
                        "typeof \"Bamse\" === \"string\";"
                    ]
                },
                {
                    "description": [
                        "typeof \"abba\";"
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "Escape sekvens"
            ],
            "description": [
                "Escape sekvens är specialtecken som påverkar utskriften. Du kan använda sammat tecken som in terminalen."
            ],
            "statments": [
                {
                    "description": [
                        "\"\\n\" betyder ny rad."
                    ]
                },
                {
                    "description": [
                        "\"\\t\" betyder ny tab."
                    ]
                },
                {
                    "description": [
                        "Använd gärna ett biblotek fom \"color\" för att få färg på dina utskrifter."
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "Sammanfoga text"
            ],
            "description": [
                "Kan göras på olika sätt och kan leda till problematiska bugar."
            ],
            "statments": [
                {
                    "description": [
                        "\"a \"+\"b\""
                    ]
                },
                {
                    "description": [
                        "b.concat(\"",
                        [
                            "sic!"
                        ],
                        "\")"
                    ]
                },
                {
                    "description": [
                        "Kod: `${a} ${b}`"
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "Få ett tecken"
            ],
            "description": [
                "Fungerar som för en array"
            ],
            "statments": [
                {
                    "description": [
                        "a",
                        [
                            "0"
                        ],
                        ";"
                    ]
                }
            ],
            "comment": [
                "indexOf"
            ]
        },
        {
            "level": 1,
            "title": [
                "För att hitta tecken."
            ],
            "description": [],
            "statments": [
                {
                    "description": [
                        "\"hej\".indexOf(\"e\"):"
                    ]
                },
                {
                    "description": [
                        "\"hej annna\".indexOf(\"anna\");"
                    ]
                },
                {
                    "description": [
                        "\"hej anna anna\".indexOf(\"anna\");"
                    ]
                },
                {
                    "description": [
                        "\"hej anna anna\".indexOf(\"q\");"
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "split"
            ],
            "description": [
                "split används för att dela uppe en string."
            ],
            "statments": [
                {
                    "description": [
                        "Du kan använda det till parsning."
                    ]
                },
                {
                    "description": [
                        "\"anna abba apa\".split(\" \");"
                    ]
                },
                {
                    "description": [
                        "\"anna abba apa\".split(\"a\");"
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "slice"
            ],
            "description": [
                "Fungerar likande som för en array."
            ],
            "statments": [
                {
                    "description": [
                        "a.slice(1,3)"
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "Fler metoder för hantera strängar?"
            ],
            "description": [
                "Stränghantering"
            ],
            "statments": [
                {
                    "description": [
                        "a",
                        [
                            {
                                "link": ".toUpperCase"
                            },
                            "0"
                        ],
                        ";"
                    ]
                }
            ],
            "comment": []
        },
        {
            "level": 1,
            "title": [
                "Exempel"
            ],
            "description": [],
            "lang": "js",
            "code": "a[0].toUpperCase() + a.slice(1,3)\nfunction foo(text) {\nresult = []; \nfor(let i of a) \n{ \nif(i !== \"och\") { \nresult.push(i[0].toUpperCase() + i.slice(1));\n} \n} \nresult.join(\" \");\n}",
            "statments": [],
            "comment": []
        }
    ],
    "kind": "sections"
}