W tym poście przyjrzymy się 4 różnym dobrym i złym sposobom konwersji wszelkiego rodzaju wartości na ciągi.
Rozważymy następujące wartości do konwersji.
console.log(typeof 1);
//number
console.log(typeof true)
//boolean
console.log(typeof null)
//object
console.log(typeof undefined)
//undefined
console.log(Array.isArray([1,2,3]))
//true
console.log(typeof { msg: 'Hi' })
//object
console.log(typeof Symbol('id'));
//symbol
Wbudowana Stringfunkcja może konwertować dowolną wartość na ciąg. Jest to najlepsza opcja do konwersji typów pierwotnych na łańcuchy.
String(1)
//'1'
String(true)
//'true'
String(null)
//'null'
String(undefined)
//'undefined'
String([1,2,3])
//'1,2,3'
String({ msg: 'Hi'})
//'[object Object]'
String(Symbol('id'))
//'Symbol(id)'
Ciąg szablonu umożliwia osadzone wyrażenia. Te wyrażenia są konwertowane na ciągi. Sprawdź przykłady poniżej.
`${1}`
//'1'
`${true}`
//'true'
`${null}`
//'null'
`${undefined}`
//'undefined'
`${[1,2,3]}`
//'1,2,3'
`${{ msg: 'Hi'}}`
//'[object Object]'
`${Symbol('id')}`
//Cannot convert a Symbol value to a string
W JavaScript wszystkie obiekty dziedziczą po Object.prototype. Oznacza to, że wszyscy mają dostęp do metod przechowywanych w tym obiekcie, w tym toString.
Oto wynik wywołania toStringobiektu lub tablicy.
[1,2,3].toString()
//'1,2,3'
{ msg: 'Hi'}.toString()
//'[object Object]'
const prototype = {
toString(){
return JSON.stringify(this);
}
}
const obj = Object.create(prototype);
obj.msg = 'Hi';
console.log(obj.toString());
//''{"msg":"Hi"}''
Interesujące jest to, że możemy wywołać toStringmetodę na elementach podstawowych, takich jak liczby i wartości logiczne. Sprawdź poniższy kod.
(1).toString()
//'1'
true.toString()
//'true'
Symbol('id').toString()
//'Symbol(id)'
nullDla wszystkich prymitywów z wyjątkiem undefinedJavaScript ma wbudowane funkcje opakowujące, takie jak Numberlub Boolean. Używa tych konstruktorów funkcji do tworzenia obiektów, a następnie wywołuje toStringmetodę na nowo utworzonych obiektach. Coś takiego dzieje się za kulisami:
new Number(1).toString()
null.toString()
//Cannot read property 'toString' of null
undefined.toString()
//Cannot read property 'toString' of undefined
Ostatnią opcją konwersji na łańcuch jest wykonanie konkatenacji łańcuchów. Sprawdź poniższe przykłady.
'' + 1
//'1'
'' + true
//'true'
'' + null
//'null'
'' + undefined
//'undefined'
'' + [1,2,3]
//'1,2,3'
'' + { msg: 'Hi'}
//'[object Object]'
Oto, co dzieje się podczas łączenia zamiast dodawania liczb.
1 + '2'
//'12'
console.log('' + Symbol('id'))
//Cannot convert a Symbol value to a string
To wszystko, czym chciałem się podzielić na temat konwersji ciągów. Dziękuje za przeczytanie.
Kiedy wysyłasz żądanie do facebook.com, Twój komputer wyszukuje nazwę domeny, aby przetłumaczyć tę nazwę domeny na adres IP, aby komputer mógł nawiązać to połączenie.
Wstęp Udar to nagły przypadek medyczny, który może dotknąć każdego w dowolnym momencie. Występuje, gdy przepływ krwi do części mózgu zostaje zakłócony, co prowadzi do nagłej utraty funkcji mózgu.
W dzisiejszym szybko zmieniającym się krajobrazie biznesowym koncepcja pracy hybrydowej i zdalnej nabrała bezprecedensowego rozpędu. Ponieważ firmy wciąż dostosowują się do zmieniających się potrzeb i oczekiwań swoich pracowników, eksperci z różnych dziedzin zebrali się, aby omówić korzyści, wyzwania i przyszłość tego transformacyjnego sposobu pracy.
W dzisiejszym dynamicznym i konkurencyjnym świecie kariera odgrywa znaczącą rolę w rozwoju osobistym, stabilności finansowej i ogólnej satysfakcji z życia. Jednak wiele osób wpada w nieustający cykl stagnacji i niezadowolenia, stopniowo marnując swoje życie zawodowe.
Było już po północy, kiedy Hayden odwiózł Katie do jej akademika po wspólnym wieczorze. Miała wcześnie rano zajęcia i nie miała kolejnej zmiany ubrania po tym, jak spędziła z nim noc wcześniej.
[Ostrzeżenie: ten esej zawiera zrzuty ekranowe ludzi wychwalających mordercę Jordana Neely'ego.] Funkcjonariusze organów ścigania w końcu - i być może niechętnie - oskarżyli Daniela Penny'ego, człowieka, który dusił Jordana Neely'ego aż do śmierci, o to zabójstwo.