Typescript'te ters eğik çizgi karakteri nasıl kaçırılır
Typescript'te, bir dizide ondalık ayırıcı karakterini ve ardından bir 0 dizisini eşleştiren bir düzenli ifade oluşturmak istiyorum. Örneğin, ondalık ayırıcı . ise, bulduğum ifade şudur:
/\.0+\b/g
Ondalık ayırıcının yerel ayara göre çalışma zamanında belirlendiği için, ifademi koddaki bir değişken olarak decimalSeperator ile oluşturuyorum:
"/\\" + decimalSeperator + "0+\b/";
Amacım çift ters eğik çizgi karakterlerinin tek ters eğik çizgi karakterine dönüştürülmesidir.
Ancak, derlenmiş JavaScript'imde çift ters eğik çizgi karakterleri kaçırılmıyor:
"/\\" + decimalSeperator + "0+\b/"
Ama eğer tek bir ters eğik çizgi kullanırsam, " karakterinin kaçış yapılmış olması nedeniyle kod derlenmeyecek:
"/\" + decimalSeperator + "0+\b/";
- hata TS1005: '',' bekleniyor.
- hata TS1127: Geçersiz karakter.
- hata TS1002: Sonlandırılmamış dize literali.
Bu Typescript ile ilgili bir hata mı yoksa ben mi yanlış bir şey yapıyorum?
Teşekkürler
Cevap #1
Ancak, çift ters eğik çizgi karakterleri derlenmiş JavaScript'imde kaçırılmıyor.
Bu kasıtlıdır. Derleme zamanı JavaScript, derleme öncesi TypeScript'e çok benzeyecektir. "\\", "\\" olarak derlenecektir. Ancak çalışma zamanında "\\", yani tek bir ters eğik çizgi olan \ olacaktır.
console.log("\\"); // prints "\"
