Yeah, I guess once you have logic, it's just a language to learn.
Yes and no. Construct 2 is Javascript, and it lets you do whatever you want at any time. There's no inherent structure to it, and it's very easy to do something grossly inefficient.
If you use Unity, you should use C#, period. Unity's Javascript is not actual Javascript as explained here: http://wiki.unity3d.com/index.php/Unity ... JavaScript
So while the logical aspects will transfer over, you still must learn Object-Oriented programming techniques to really succeed. Unity is a component-based system and to make the most of it, you need to understand concepts like inheritance, polymorphism, encapsulation, abstraction, and how to use a strongly-typed api.
So while you can use the language and create things in a Construct-esque way, your game will suffer for it.
Unity is also a 3D engine, so you have to think about the Z axis even when doing a 2D game.
That being said, I find Unity to be an amazing tool for learning C# (i learned all the C# i know through Unity, and now work full time doing it), so I sincerely encourage the foray into new engines and new languages.